88问答网
所有问题
QT MainWindow和Dialog的区别和选择
如题所述
举报该问题
推荐答案 2017-03-01
Qt中的每个类,都有一个对应的同名头文件,其中包含其类定义。例如要使用QApplication类,则需要在程序中添加" #include <QApplication>"
QApplication类用于管理应用程序范围内的资源。其构造函数需要main函数的argc和argv作为参数。
widget被创建时都是不可见的(always created hidden)。widget中可容纳其它widget。 Qt中的widget在有用户行为或状态改变时会emit signal。 signal可以和slot函数连接在一起(connect),这样当有signal被emit时,对应的slot函数会被自动调用。
QWidget类的构造函数需要一个 QWidget * 指针作为参数,表示其parent widget(默认值为0,即不存在parent widget)。在parent widget被删除时,Qt会自动删除其所有的child widget。
Qt中有三种Layout Manager 类: QHBoxLayout,QVBoxLayOut,QGridLayOut。基本模式是将widget添加进LayOut,由Layout自动接管widget的尺寸和位置。
启动Qt程序时可以通过 -style 参数改变程序的默认显式风格。 Chapter 2 Creating Dialogs 2.1 Subclassing Dialog
Qt中所有dialog的基类是QDialog。QDialog派生自QWidget。
Qt中所有定义了signal或slot的类,在其类定义的开始处都要使用Q_OBJECT宏。Qt中的signal关键字实际上是宏定义。类似的,slots关键字也是宏定义。
Qt所提供的类分为若干模块:QtGui,QtNetWork,QtOpenGL,QtSql, QtSvg和QtXml等。 QObject::tr() 函数将输入的字符串转换为其他语言(国际化)。对所有用户可见的字符串都使用tr()函数是一个良好的习惯。
Buddy:两个widget A和B,若A拥有快捷键,当用户按下该快捷键时,程序的输入焦点自动转移到B上,则称B是A的buddy。
QWidget::close() 是一个slot,其默认行为是使对应的widget隐藏不可见,但并不删除该widget。 Layout 中可包含widget和其他layout。通过嵌套使用QHBoxLayOut、QVBoxLayOut、
QGridLayOut,可以构造非常复杂的dialog。值得注意的是:layout manager 类并不属于widget。实际上,它派生自QLayout,而QLayout又派生自QObject。
QWidget::sizeHint() 返回一个widget()的理想大小(ideal size)。 emit关键字是Qt特有的,用于产生signal。
wk_ad_begin({pid : 21});wk_ad_after(21, function(){$('.ad-hidden').hide();}, function(){$('.ad-hidden').show();});
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://88.wendadaohang.com/zd/MMMVSSMagBttKVctSVB.html
其他回答
第1个回答 2017-03-01
两个都是继承QWidget, 但两者区别挺大的!
QMainWindow是一个程序主窗口, 它和QWidget的区别就是自带状态栏和菜单栏;
QDialog是一个弹出框, QDialog::exec是可以阻塞程序, 但是事件循环还是会继续, 也就是程序会等待exec函数返回, 但是界面的一个信号槽还是可以运行;
第2个回答 2017-03-01
QMainWindow可以添加菜单栏 工具栏 状态栏等,QDialog不行
相似回答
...几种基类(QMainWindow Qwidget Q
Dialog
)
的区别和
作用?
答:
QDialog类是对话框窗口的基类
,对话框窗口主要用于短期任务和用户进行短期通讯的顶级窗口,QDialog可以是模态对话框或者是非模态对话框。QDialog支持扩展并带有返回值,他们可以带有默认值。
Qt
中QObject QApplication Qwidget Q
Dialog
等等都是什么关系??_百度知...
答:
QDialog 是最普通的顶级窗口。不被嵌入到一个父窗口部件的窗口部件被叫做顶级窗口部件。通常情况下,顶级窗口部件是有框架和标题栏的窗口(尽管如果使用了一定的窗口部件标记,创建顶级窗口部件时也可能没有这些装饰。)在
Qt
中,QMain
Window和
和
不同
的Q
Dialog的
子类是最普通的顶级窗口。
qt
中widget
与dialog
如何
选择
?
答:
Q
Dialog
通常作为一个顶层窗口出现,允许用户进行一些选择,并返回用户选择的结果(比如:在一个配置对话框里,用户操作完后是按下了“确定”、“应用”或“取消”)。然后应用程序就可以根据用户刚才
的选择
决定下一步做什么(比如:如果用户刚才按下了“确定”,那么就保存用户在配置对话框中进行的更改等...
QT
使用教程(八)之Q
Dialog
答:
模态对话框: 简单易用,如展示“Hello,
dialog
!”的示例:<strong>Q
Dialog
dialog; dialog.set
Window
Title("Hello, dialog!"); dialog.exec();</strong>而非模态对话框则更为灵活,可以通过以下代码创建并显示:<strong>QDialog *dialog = new QDialog; dialog->setAttribute(
Qt
::WA_DeleteOnClose)...
qt
点击按钮后显示一个带有rablewidget的窗口
答:
由于在创建mydiaglog时无法
选择Dialog
,我们就选择QWidget就行了。3、接下来,把myDialog继承的类改为QDialog。分别改my
dialog
.cpp和mydialog.h文件。4、接下来在
mainwindow
.cpp文件中添加一个按钮,并添加一个槽函数处理按钮的事件就可以了。
Qt
Creator是一个用于Qt开发的轻量级跨平台集成开发环境。Qt...
[基于Linux,
Qt的
列车人机界面的设计]人机界面设计
答:
1)新建一个工程文件,文件和类
选择QT
设计师界面类,界面模版
选择Dialog
without Buttons,类名为cxcx,然后添加至我们的人机界面工程项目中。2)在集中控制界面上添加一个Push Buttons按钮,修改其名称为查询,再右键点击此按钮,选择go to slot(转到槽)选项,弹出的信号选择框中选择clicked()信号,这样...
qt
中添加查找槽的时候ui::
dialog
定义找不到是什么原因
答:
我的也常出现这种情况,添加不来槽函数。清除工程,关闭工程,然后就行了。你试试看!
Qt
Dialog
类show()滞后的问题
答:
肿么可能,
dialog
在调用show的时候立马就会显示了.关键的代码贴一下.我帮你看看...
大家正在搜
择选和选择的区别
选择和选项的区别
直接选择排序和简单选择排序区别
选择与挑选的区别
被迫和选择的区别
关系选择和投影的区别
冒泡和选择的区别
抉择选择区别
做的和做得的区别
相关问题
QT MainWindow和Dialog的区别和选择
QT MainWindow和Dialog的区别和选择
QT MainWindow和Dialog的区别和选择
qt中widget与dialog如何选择?
QT怎样在Dialog中读取mainwindow中的数据
QT:成员类可以获得到主类(MainWindow)的指针吗?
Qt中QObject QApplication Qwidg...
c# MainWindow() 与MainWindow_Lo...