Qt布局管理: 堆栈窗体QStackedWidget类(纯代码实现)
来源:互联网 发布:上海开票软件 网络配置 编辑:程序博客网 时间:2024/05/23 00:08
堆栈窗体QStackedWidget类是经常在应用程序中用到的,在实际应用中,堆栈窗体多与列表框QlistWidget和下拉列表框QCombobox配合使用。
下面我就讲一讲QStackedWidget的代码实现。
1. 建立项目时基类选择QDialog,取消Gernerate form复选框的选中状态。(项目名自定义)
2. 打开头文件“dialog.h”,添加以下代码:
private: QListWidget *list; QStackedWidget *stack; QLabel *label1; QLabel *label2; QLabel *label3;
同时添加一下头文件:
#include <QListWidget>#include <QStackedWidget>#include <QLabel>3. 打开“dialog.cpp”文件,添加如下代码:
setWindowTitle(tr("StackedWidget")); list = new QListWidget(this); //定义列表项 list->insertItem(0,tr("windows1")); list->insertItem(1,tr("windows2")); list->insertItem(2,tr("windows3")); label1 = new QLabel(tr("WindowsTest1")); //生成label对象,并赋值 label2 = new QLabel(tr("WindowsTest2")); label3 = new QLabel(tr("WindowsTest3")); QPalette pe; pe.setColor(QPalette::WindowText,Qt::red); label1->setPalette(pe); label2->setPalette(pe); label3->setPalette(pe); stack = new QStackedWidget(this); //生成堆栈部件对象 stack->addWidget(label1); //label对象载入到堆栈部件 stack->addWidget(label2); stack->addWidget(label3); QHBoxLayout *mainLayout = new QHBoxLayout(this); //对整个对话框进行布局 mainLayout->setMargin(5); //控件距离边界的距离 mainLayout->setSpacing(0); mainLayout->addWidget(list); mainLayout->addWidget(stack,0,Qt::AlignHCenter); //默认左对齐 mainLayout->setStretchFactor(list,1); mainLayout->setStretchFactor(stack,3); connect(list,SIGNAL(currentRowChanged(int)),stack,SLOT(setCurrentIndex(int)));
同时在头部加入头文件:#include "dialog.h"
4. 主函数如下:
#include "dialog.h"#include <QApplication>int main(int argc, char *argv[]){ QApplication a(argc, argv); QFont font("楷体",20,QFont::Bold); //设定整个应用程序界面的中的字体和字号等格式 a.setFont(font); Dialog w; //w.setMaximumSize(600,300); //设定控件的最大长宽度 //w.setMinimumSize(200,100); //设定控件的最小长宽度 w.setFixedSize(600, 200); //将窗口大小固定 w.setWindowFlags(Qt::WindowCloseButtonHint); //隐藏多余的按钮,只剩下关闭按钮 w.show(); return a.exec();}
5. 运行结果如下:
本例中使用的一下函数小结:
设定整个应用程序界面的中的字体和字号等格式:
QApplication a(argc, argv);
QFont font("楷体",20,QFont::Bold);
a.setFont(font);
//设定窗口大小的一些函数:
Dialog w;
w.setMaximumSize(600,300); //设定控件的最大长宽度
w.setMinimumSize(200,100); //设定控件的最小长宽度
//w.setFixedSize(600, 200); //将窗口大小固定
//隐藏多余的按钮,只剩下关闭按钮:
w.setWindowFlags(Qt::WindowCloseButtonHint);
w.show();
2 0
- Qt布局管理: 堆栈窗体QStackedWidget类(纯代码实现)
- Qt布局管理-堆栈窗体QStackedWidget类
- Qt之布局管理——堆栈窗体QStackedWidget
- 堆栈窗体QStackedWidget类以及布局QSplitter
- 布局管理(分割窗口QSplitter类、停靠窗口QDockWidget类、堆栈窗体QStackedWidget类、基本布局(QLayout))
- 堆栈窗体QStackedWidget类
- 堆栈窗体QStackedWidget类
- 【Qt5开发及实例】5、布局管理之堆栈窗体QStackedWidget类
- Qt学习——堆栈窗体QStackedWidget类
- Qt学习——堆栈窗体QStackedWidget类 .
- Qt学习——堆栈窗体QStackedWidget类
- Qt学习——堆栈窗体QStackedWidget类
- Qt学习——堆栈窗体QStackedWidget类
- QT布局管理之堆栈窗体
- Qt5布局管理(三)——QStackedWidget堆栈窗口类
- Qt布局管理: 分割窗口QSplitter类讲解(纯代码实现分割窗口)
- Qt布局管理: 停靠窗口QDockWidget类(纯代码实现)
- Qt布局管理: 分割窗口QSplitter类讲解(纯代码实现分割窗口)
- 使用Android Studio时你应该知道的一些配置
- 【android】:android实现打开网页和拨打电话
- SQL 语句一行拆成多行及多行合并成一行的方法
- Redmine使用手册
- Linux下使用iptables禁止指定IP地址的网络连接
- Qt布局管理: 堆栈窗体QStackedWidget类(纯代码实现)
- 上海复旦大学吴立德教授深度学习课程四
- android开发之自定义dialog
- MAC OS/X PPTP-VPN设置教程
- 单元测试junit框架详解
- 谈谈基于OAuth 2.0的第三方认证 [上篇]
- java.lang.AssertionError: java.net.SocketTimeoutException: failed to connect to /192.168.1.5 (por
- 用自己电脑搭建一个外网可以访问的服务器 tomcat本地搭建
- java中的String类(转)