• 7018阅读
  • 6回复

[提问]几个qt问题,新手(已解决) [复制链接]

上一主题 下一主题
离线呆呆很呆
 
只看楼主 倒序阅读 楼主  发表于: 2011-09-09
1.对话框汉化,话说置顶帖没看懂,解开源文件是什么意思?那个什么编译怎么弄?
2.那个QGridLayout移动是不是“setContentsMargins”这个?一个QWidget能显示多个“QGridLayou”吗?
3.Qwinget设父窗口,设置后是将这个QWidget显示到父窗口,我是要显示新窗口,在新窗口未关闭下,点击父窗口没反应才对。
setWindowModality(Qt::WindowModal); 这个设置后默认会设置那个窗口为父窗口
哈哈,看手册看懂了



离线roywillow

只看该作者 1楼 发表于: 2011-09-09
1. 你说的对话框汉化是不是指Qt定义好的各种对话框的汉化?那些只要把qt_zh_CN.qm之类的qm文件加载上就好了。
2. 说实话不懂什么叫移动,layout只是辅助加进去的各个QWidget进行大小和位置的调节,你是不是一直把layout当做容器一类的东西理解了?一个QWidget当然能有多个layout,比如layout的嵌套。另外我认为layout是不会“显示”出来的……
3. 你这个不妨用QDialog吧,QDialog应该就是干这活的,设置成模态窗口。QWidget想拥有parent并且还想单独成窗口,那就参考一下Qt::WindowFlags吧。
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线流潋紫
只看该作者 2楼 发表于: 2011-09-09
1、对话框汉化可以通过linguist实现。首先在.pro文件中包含进来.ts,然后再命令行输入lupdate _verbose  +pro文件,最后在main.cpp中装载translator。注意在创建对象之前添加。还可以通过编码实现。
2、可以
3、模态:在其没有被关闭之前,用户不能与同一个应用程序的其他窗口进行交互,直到该对话框关闭
      非模态:当被打开时,用户既可以选择和该对话框交互,也可以选择和应用程序的其他窗口进行交互。
添岁不是成长,忍让不是懦弱!
离线呆呆很呆
只看该作者 3楼 发表于: 2011-09-09
1.这个“qt_zh_CN.qm”在哪里?
2.
QGridLayout a(this)
QGridLayout b(this)都能显示出来?
然后让这设置这两个的“x”“y”不就是移动吗
3.怎样设置模态和非模态?“Qt::WindowFlags”这是什么?新手不懂啊
离线roywillow

只看该作者 4楼 发表于: 2011-09-09
1. 我这里是在 QtSDK\Desktop\Qt\4.7.3\mingw\translations里,不一样的话请善用系统的文件搜索功能。
2. 这种写法我目前看到的效果是只有第一个有效果。在设计师里如果你直接往窗口中拖进两个layout,看起来似乎是两个layout并存并且可以随意移动,但是你看源码的话会发现这两个layout其实是被放到了两个QWidget中,setContentsMargins都为0,让layout充满整个QWidget而周围没有空隙,可以自由移动的其实是QWidget。
3. 请在Qt助手中搜索“modal”然后自行解决,直接说出来就木有意思了。WindowFlags也请自行搜索。另外建议参考dbzhang800大的http://blog.csdn.net/dbzhang800/article/details/6737540
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线呆呆很呆
只看该作者 5楼 发表于: 2011-09-10
恩,回家试试
离线呆呆很呆
只看该作者 6楼 发表于: 2011-09-10
设置成窗口模态后着怎样设置是对哪个窗口?
快速回复
限100 字节
 
上一个 下一个