




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
此例程主要展示用代码方式创建控件并用Layout管理类对其进行布局;例程来自Qt5.2,如过是默认安装,代码位于:C:QtQt5.2.05.2.0mingw48_32exampleswidgetslayoutsbasiclayouts涉及类:QDialog QPushbotton QGroupBox QLabel QLineEdit QComboBox QTextEdit QHBoxLayout QVBoxLayout QFormLayout QGridLayout QMenu QMenuBarmain.cpp#include #include dialog.hint main(int argc, char *argv) QApplication app(argc, argv); Dialog dialog; dialog.show(); return app.exec();dialog.h#ifndef DIALOG_H#define DIALOG_H#include class QAction;class QDialogButtonBox;class QGroupBox;class QLabel;class QLineEdit;class QMenu;class QMenuBar;class QPushButton;class QTextEdit;class Dialog : public QDialog Q_OBJECTpublic: Dialog();private: void createMenu(); void createHorizontalGroupBox(); void createGridGroupBox(); void createFormGroupBox(); enum NumGridRows = 3, NumButtons = 4 ; QMenuBar *menuBar; QGroupBox *horizontalGroupBox; QGroupBox *gridGroupBox; QGroupBox *formGroupBox; QTextEdit *smallEditor; QTextEdit *bigEditor; QLabel *labelsNumGridRows; QLineEdit *lineEditsNumGridRows; QPushButton *buttonsNumButtons; QDialogButtonBox *buttonBox; QMenu *fileMenu; QAction *exitAction;#endif / DIALOG_Hdialog.cpp#include #include dialog.hDialog:Dialog() createMenu(); /创键菜单 createHorizontalGroupBox();/创建第一组控件 createGridGroupBox(); /创建第二组控件 createFormGroupBox(); /创建第三组控件 bigEditor = new QTextEdit; /创建一个独立的文本编辑框 bigEditor-setPlainText(tr(This widget takes up all the remaining space in the top-level layout.); /创建对话框按钮组 buttonBox = new QDialogButtonBox(QDialogButtonBox:Ok | QDialogButtonBox:Cancel); connect(buttonBox, SIGNAL(accepted(), this, SLOT(accept(); /连接按钮信号 connect(buttonBox, SIGNAL(rejected(), this, SLOT(reject(); QVBoxLayout *mainLayout = new QVBoxLayout; /创建垂直布局对象 mainLayout-setMenuBar(menuBar); /加入菜单栏 mainLayout-addWidget(horizontalGroupBox); /加入第一组控件 mainLayout-addWidget(gridGroupBox); /加入第二组控件 mainLayout-addWidget(formGroupBox); /加入第三组控件 mainLayout-addWidget(bigEditor); /加入文本编辑框 mainLayout-addWidget(buttonBox); /加入按钮 setLayout(mainLayout); /布局加入app对象 setWindowTitle(tr(Basic Layouts); /设置窗口标题/创建菜单栏void Dialog:createMenu() menuBar = new QMenuBar; /Dialog类没有菜单栏,所以创建一个 fileMenu = new QMenu(tr(&File), this); /创建一个菜单 exitAction = fileMenu-addAction(tr(E&xit);/添加一个菜单选项 menuBar-addMenu(fileMenu); /菜单加入菜单栏里 connect(exitAction, SIGNAL(triggered(), this, SLOT(accept();/连接菜单信号/加入第一组控件void Dialog:createHorizontalGroupBox() horizontalGroupBox = new QGroupBox(tr(Horizontal layout); /创建组控件 QHBoxLayout *layout = new QHBoxLayout; /创建水平布局对象 for (int i = 0; i addWidget(buttonsi); /加入布局 horizontalGroupBox-setLayout(layout); /将布局好的按钮添加套组控件里/加入第二组控件void Dialog:createGridGroupBox() gridGroupBox = new QGroupBox(tr(Grid layout); /创建组控件 QGridLayout *layout = new QGridLayout; /创建网格布局对象 for (int i = 0; i addWidget(labelsi, i + 1, 0); /将建标签控件放在i+1行,0列位置 layout-addWidget(lineEditsi, i + 1, 1); /将建标编辑框控件放在i+1行,1列位置 smallEditor = new QTextEdit; /创建一个文本编辑控件 smallEditor-setPlainText(tr(This widget takes up about two thirds of the grid layout.); layout-addWidget(smallEditor, 0, 2, 4, 1); /将文本编辑控件放在0行,2列位置,行跨度为4行,列跨读为1列 layout-setColumnStretch(1, 10);/将第1列的控件(行编辑框控件)拉伸系数为10 layout-setColumnStretch(2, 20);/将第2列的控件(文本编辑控件)拉伸系数为20 gridGroupBox-setLayout(layout);/加入第三组控件void Dialog:createFormGroupBox() formGroupBox = new QGroupBox(tr(Form layout);/创建组控件 QFormLayout *layout = new QFormLayout; /创建表格式布局对象 layout-addRow(new QLabel(tr(Line 1:), new QLineEdit); /添加第一个标签和行编
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 取消斗鱼合同
- 疫情停止合同
- 公共关系广告的类型教学设计中职专业课-公共关系基础-社会工作事务-公共管理与服务大类
- 第三单元《阅读综合实践》说课稿 2024-2025学年统编版语文七年级上册
- 2025年广东省柑橘种植订购合同示例
- Unit6developing ideas听说课说课稿2024-2025学年外研版英语七年级下册
- 2.1.2有理数的减法说课稿2024-2025学年人教版数学七年级上册
- 七年级地理上册 1.2地球的运动说课稿2 (新版)新人教版001
- Lesson 9 Li Ming meets Jenny's class说课稿-2023-2024学年小学英语五年级下册冀教版(一起)
- 3.9 辛亥革命 说课稿 2025-2026学年统编版八年级历史上册
- 发生特种设备安全事故应急预案模版(4篇)
- 宗春山安全第一课
- 放射性皮肤损伤的护理-中华护理学会团体标准
- 三度房室传导阻滞护理查房
- 五年级科学上册(教科版)第2.5课风的作用教学设计
- 沪教牛津版九年级英语下册单词表默写版
- 浙江路桥中国日用品商城股份有限公司招聘笔试题库2024
- 动物检疫员技能竞赛(理论部分)复习内容
- 2024年秋新人教版七年级上册历史教学课件 第8课 夏商周时期的科技与文化
- 2024年中煤第七十一工程处有限责任公司招聘笔试冲刺题(带答案解析)
- 手厥阴心包经课件
评论
0/150
提交评论