• 10464阅读
  • 10回复

[提问]新建qt项目的,模版选择 [复制链接]

上一主题 下一主题
离线17611904
 
只看楼主 倒序阅读 楼主  发表于: 2011-01-22
再看C++ GUI一书时,里面第2.4节让新建一个:choose the "Dialog without Buttons" template.

而我的qt creator里面似乎没这个。

我想问下。
那个qt c++ project->qt gui application
以及other project->qt custom designer widget有啥区别?

并且我在选择了qt gui application后。里面的base class有QMainWindow, QWidget和QDialog.都有何区别?

如果我想建:Dialog without Buttons,我该选择哪一个?

离线XChinux

只看该作者 1楼 发表于: 2011-01-22
你选上 QDialog,然后将上面的buttonBox去掉就行了。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线17611904
只看该作者 2楼 发表于: 2011-01-22
回 1楼(XChinux) 的帖子
哪里可以去掉buttonBox?
离线XChinux

只看该作者 3楼 发表于: 2011-01-22

且我在选择了qt gui application后。里面的base class有QMainWindow, QWidget和QDialog.都有何区别?


关键是搞清楚QMainWindow、QWidget、QDialog三者之间的区别。
一般来说,你如果是顶级窗体(不嵌入到其它窗体里面的)上有菜单,有状态栏等,就用QMainWindow,如果是顶级窗体,但没有菜单、状态栏等,就用QDialog,如果你不确定,则用QWidget (它可以嵌入到其它容器部件或窗体里面)
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线XChinux

只看该作者 4楼 发表于: 2011-01-22
Re:回 1楼(XChinux) 的帖子
引用第2楼17611904于2011-01-22 14:57发表的 回 1楼(XChinux) 的帖子 :
哪里可以去掉buttonBox?


那两个按钮实际上就是个QDialogButtonBox部件。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线17611904
只看该作者 5楼 发表于: 2011-01-22
回 4楼(XChinux) 的帖子
为何我新建的QDialog窗体,但是上面是空白的,没有button。。。
离线XChinux

只看该作者 6楼 发表于: 2011-01-22
Re:回 4楼(XChinux) 的帖子
引用第5楼17611904于2011-01-22 15:09发表的 回 4楼(XChinux) 的帖子 :
为何我新建的QDialog窗体,但是上面是空白的,没有button。。。


那正不是你所需要的吗。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线17611904
只看该作者 7楼 发表于: 2011-01-22
回 6楼(XChinux) 的帖子
嗯,好的,我再看看书,试试。谢谢拉,哥们。
离线17611904
只看该作者 8楼 发表于: 2011-01-22
我看书上画的有最大化,最小化那一栏,我觉得应该是QMainWindow吧?虽然他说的是QDialog.
离线roywillow

只看该作者 9楼 发表于: 2011-01-22
Dialog without Buttons 这个应该是designer里面的一个选项
就是创建一个空的QDialog

个人感觉widget、dialog、mainwindow的区别就是
widget是个比较常用的用来生成窗口的基类,并且可以当做其他部件的容器
dialog特点是自己就支持响应esc键,退出dialog会有accept之类的东西返回好像,适合做弹出的对话框
mainwindow自带菜单、状态栏,有成员函数添加这些东西,并且只能有一个中心窗口部件,不能给mainwindow设置layout似乎,如果想放多个部件可以将中心窗口部件设置为一个QWidget,然后在里面添加
[ 此帖被roywillow在2011-01-22 20:00重新编辑 ]
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线17611904
只看该作者 10楼 发表于: 2011-01-23
回 9楼(roywillow) 的帖子
嗯,谢谢你的回答。

差不多理解了。
快速回复
限100 字节
 
上一个 下一个