QT对话框——利用QT设计师

1.      新建工程项目,application-QT widgets application,名字dialog,基类选择QDialog,选择使用界面文件(.ui)。

 

2.      打开dialo.ui文件,即打开了界面编辑,界面中包含Buttons、Containers、input widgets等窗口部件。

(1)依次向对话框中拖入3个pushButton,类名分别命名为okButton、cancelButton、moreButton,text名字输入OK、Cancel、More,default设置为真、真、假。

在Cancel和More的按钮之间添加一个verticalspacers。

(2)拖入一个Group Box,类名字命名为primaryBox,title设置为primarykey。然后添加两个label,text输入Column和Order。然后再拖入两个combo Box,命名为primaryColumnCombo和primaryOrderCombo,然后右键选择编辑项目,分别增加None,Ascending和Desceding条目。

 

 

(3)在primaryColumnCombo后添加一个horizontalspacers。

(4)单击groupBox,布局-栅格化布局。然后布局-调整大小。使得groupBox大小合适,groupBox中部件排列整齐。

(5)然后可以复制groupBox,按住Ctrl,拖动即可复制。复制的groupBo命名为secondaryBox和ternaryBox。

(6)单击对话框空白处,布局-栅格布局。最终结果如下:

 

3.      链接信号和槽。

选择edit-edit signals/slots,进入信号/槽编辑模式。点击OKbutton出现红色箭头,拖动到空白处,松开鼠标,弹出链接配置对话框,选择clicked()和accepted()信号;cancel button选择clicked()和rejected()信号;more button拖动到secondaryBox和ternaryBox,选择toggled()和setVisible();最终的信号链接为:

 

setVisible函数可以用来显示部件,而toggled信号是当按钮状态发生变化其就被发射,并返回一定数值。通过将More按钮和两个groupBox链接,当more按钮按下就可以隐藏或者展开两个GroupBox。

4.      编辑代码:

dialog.h

 

dialog.cpp

 

main.cpp

 

5.      运行结果:

 

 

 

 

 

posted @ 2017-01-07 12:16  苹果不削皮  阅读(547)  评论(0编辑  收藏  举报