• 7182阅读
  • 7回复

QT 对Console程序的支持程序高不高? [复制链接]

上一主题 下一主题
离线zhitenglin
 

只看楼主 倒序阅读 楼主  发表于: 2008-12-07
QT 对Console程序的支持程序高不高?
— 本帖被 XChinux 执行加亮操作(2008-12-08) —
我知道QT Console可以写Console程序,不知道QT里面有没有针对Console编程的类,如修改字体颜色,获取光标位置,清屏等,如果使用C 或者是MFC里面的MFC Console的话,可以有相应的api,但是我不可能使用这些api,否则就不能跨平台了,请问谁知道QT在这方面有没有这些相应的类或者是功能?

还有一个问题,使用QT编程的话,应该不能使用跟平台相关的api吧?如在Windows下面不能使用Win 32 api啊,只能使用标准c或者c++的api,否则怎么跨平台啊?怎么论坛上面好像好多人都觉得QT都应该结合其它的api或者库来开发,我觉得应该使用纯QT的库,顶多加上标准C++的api来开始才行,要不同一份源代码,在windows下面可以编译过去,拿到Linux上面就不行了。
那不就跟QT本质反了吗?那只能说QT在多个平台上面有一些库能通用还有一个开发平台而矣,不能像java那样纯平台无关。
我觉得现在很多都是在Linux开发完的项目并不能拿到windows上面来重新编译。
QT:编码一次,到处编译,看来不太行哦,这样的话。
离线water_wf

只看该作者 1楼 发表于: 2008-12-07
java能使用mfc,window api?使用标准库不就可以了,qt console mfc console程序指的是控制台程序,而不是你想的dos(turbo c) 界面的那种,那种也可以用标准c库,有没有说qt和c不兼容
兄弟搞笑了吧
离线zhitenglin

只看该作者 2楼 发表于: 2008-12-08
看来QT在这方面的确不是强项,试一下,使用turbo c最近想把一个mfc console的程序转换成跨平台的,但是工程里面大量使用了GetConsoleScreenBufferInfo(stdout1,&csbi);等windows api,所以想QT里面有没有替换方案,估计是没有了。

楼上那位大哥,如果能够使用标准为库省事的话,还用QT干嘛?呵呵,要是使用turbo c的话,跟QT好像扯上关系也不好吧,有点乱了,维护也不好。

继续找办法。。。
离线water_wf

只看该作者 3楼 发表于: 2008-12-08
无语了,GetConsoleScreenBufferInfo 这个函数最终调用的都是c库部分,这部分是标准c,那个平台都可以使用的,qt的长项在界面,当然它提供和std 相同的大部分类库,我说turboc是指那个界面及你需求的,qt console指的是控制台程序。你觉得qt难用可以不用,qt的长处就在于跨平台和易于编写和维护。
离线zhitenglin

只看该作者 4楼 发表于: 2008-12-21
呵呵,好久不上来,看来有人指教我了。大哥,你是对的,看来我要使用c重写一个GetConsoleScreenBufferInfo 了,因为MS不可能把代码给我的,呵呵。
离线water_wf

只看该作者 5楼 发表于: 2008-12-22
写好了别忘了发上来,就此结贴,Ok?如果你想对比的qt java,建议另开贴,我跟你讨论,当然我建议你先了解qt的基本东西在讨论
离线wvins
只看该作者 6楼 发表于: 2008-12-22
部分细节如果实在避不了平台相关性,可以使用条件编译区分Linux和Windows代码

当然,如果差异太大的话,就维护两份代码呗
离线zhitenglin

只看该作者 7楼 发表于: 2009-02-08
好久一阵没上来,呵呵,看来还是有不少人关心我的问题哦,小弟谢了,小弟不才,整天搞是程序,不是软件,现在当初那款软件已经完成了,该问题结帖了吧。
小弟对QT使用得不多,平常也只是安装了放那,因为工作忙,工作中不常用,所以暂时还是了解阶段,不过以后为了两顿,如果需要用,估计学起来不成问题,编程这个东西都是通用的嘛,呵呵。。。
快速回复
限100 字节
 
上一个 下一个