Qt创建堆叠窗口
1.QT创建堆叠窗口使用类,但是使用它时主窗口不能是MainWindow,否则会出现布局错误,本例中使用基类为QDialog
QStackedWidget
2.可以配合列表框QListWidget和QComboBox使用
3.先看代码stackwindow.h文件:
#define STACKWINDOW_H #include <QDialog>
#include <QListWidget>//列表框
#include <QStackedWidget>//堆栈窗体
#include <QLabel> class StackWindow : public QDialog
{
Q_OBJECT public:
StackWindow(QWidget *parent = );
~StackWindow(); void initWindow(); private:
QListWidget *_lw;
QStackedWidget *_sw;
QLabel *_lb1;
QLabel *_lb2;
QLabel *_lb3;
}; #endif // STACKWINDOW_H
4.看主文件stackwindow.cpp,代码主要封装在initWindow函数中
#include "stackwindow.h"
#include <QVBoxLayout> StackWindow::StackWindow(QWidget *parent)
: QDialog(parent)
{
initWindow(); } StackWindow::~StackWindow()
{ } void StackWindow::initWindow()
{
setWindowTitle("堆栈窗体"); //初始化控件
_lw = new QListWidget(this); //QListWidget中插入选择项 _lw->insertItem(,"主页");
_lw->insertItem(,"娱乐");
_lw->insertItem(,"八卦"); //初始化标签控件
_lb1 = new QLabel("看新闻",this);
_lb2 = new QLabel("看娱乐",this);
_lb3 = new QLabel("看八卦",this);
//创建堆叠窗体
_sw = new QStackedWidget(this);//父对象为主窗体
//_sw->setStyleSheet("background:red");
//将三个label加入_sw中
_sw->addWidget(_lb1);
_sw->addWidget(_lb2);
_sw->addWidget(_lb3); //对主窗口布局 QHBoxLayout *hl = new QHBoxLayout();
hl->setMargin();//设置边距
hl->setSpacing();//设置控件间距 //布局中加入窗体
hl->addWidget(_lw);
hl->addWidget(_sw,,Qt::AlignHCenter); hl->setStretchFactor(_lw,);//设置控件尺寸占比
hl->setStretchFactor(_sw,);// setLayout(hl); connect(_lw,SIGNAL(currentRowChanged(int)),_sw,SLOT(setCurrentIndex(int))); }
5.main文件比较简单
#include "stackwindow.h"
#include <QApplication> int main(int argc, char *argv[])
{
QApplication a(argc, argv);
StackWindow w;
w.show(); return a.exec();
}
6.看一下运行效果:

Qt创建堆叠窗口的更多相关文章
- Qt创建分割窗口
1.QT中QSplitter类可以用来灵活分割窗口,从而产生可用的布局,在以后进行界面布局很有用. 2.先看代码,这个分割窗口按顺序添加子窗口: #include "mainwindow.h ...
- QT源码解析(一) QT创建窗口程序、消息循环和WinMain函数
QT源码解析(一) QT创建窗口程序.消息循环和WinMain函数 分类: QT2009-10-28 13:33 17695人阅读 评论(13) 收藏 举报 qtapplicationwindowse ...
- Qt创建停靠悬浮窗口
1.Qt实现窗口停靠和悬浮使用类QDockWidget,它有两个重要方法用来设置停靠特性以及停靠区域, dw1->setFeatures(QDockWidget::DockWidgetMovab ...
- 第15.34节 PyQt(Python+Qt)入门学习:containers容器类部件QStackedWidget堆叠窗口部件详解
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 StackedWidget堆叠窗口部件为一系列窗口部件的堆叠,对应类为QStackedWi ...
- QT+创建两个不相干的窗口实现一个显示一个不显示
因为两个窗口互不相干,所以需要重新创建一个窗口类subWidget subWidget.cpp文件 #ifndef SUBWIDGET_H #define SUBWIDGET_H #include & ...
- PyQt(Python+Qt)学习随笔:containers容器类部件QStackedWidget堆叠窗口属性
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.堆叠窗口简介 StackedWidget堆叠窗口部件为一系列窗口部件的堆叠,对应类为QStack ...
- Qt创建窗体的过程
版权声明 本文为原创作品,请尊重作者的劳动成果.转载必须保持文章完整性,并以超链接形式注明原始作者“ tingsking18”和 主站点地址,方便其他朋友提问和指正. QT源码解析(一) QT创建窗口 ...
- 堆叠窗口QStackedWidget
经常将QStackedWidget和QListWidget或者QListView搭配使用 import sys from PyQt5.QtWidgets import QApplication, QW ...
- QT源码解析(七)Qt创建窗体的过程,作者“ tingsking18 ”(真正的创建QPushButton是在show()方法中,show()方法又调用了setVisible方法)
前言:分析Qt的代码也有一段时间了,以前在进行QT源码解析的时候总是使用ue,一个函数名在QTDIR/src目录下反复的查找,然后分析函数之间的调用关系,效率实在是太低了,最近总结出一个更简便的方法, ...
随机推荐
- Java Trie字典树,前缀树
Trie查询每个条目的时间复杂度,和字典中一共有多少条无关. 时间复杂度为O(W) w为查询单词的长度 import java.util.TreeMap; public class Trie { pr ...
- [转] 以 async/await 为例,说明 babel 插件怎么搭
你一定碰到过这些库 babel-polyfill 项目地址:https://github.com/babel/babel/blob/master/packages/babel-polyfill 通过两 ...
- c# List列表数据转换成树形结构
把List列表结构 转换成树形结构 /// <summary> /// 构造树形Json /// </summary> public static class TreeJson ...
- kvm虚拟机网络管理
一.Linux Bridge网桥 管理 # brctl show 显示当前网桥连接状态 # brctl addbr br1vlan-10 添加网桥 # brctl delbr br1vlan-10 删 ...
- 动态规划——Dungeon Game
这又是个题干很搞笑的题目:恶魔把公主囚禁在魔宫的右下角,骑士从魔宫的左上角开始穿越整个魔宫到右下角拯救公主,为了以最快速度拯救公主,骑士每次只能向下或者向右移动一个房间, 每个房间内都有一个整数值,负 ...
- 使用anaconda创建tensorflow环境后如何在jupyter notebook中使用
在以下目录中 C:\Users\UserName\AppData\Roaming\jupyter\kernels\python3 打开kernel.json文件,将python.exe文件的路径修改至 ...
- python 多线程 及多线程通信,互斥锁,线程池
1.简单的多线程例子 import threading,timedef b_fun(i): print "____________b_fun start" time.sleep(7 ...
- 禁止字符串 [POJ3691缩减版]
题意考虑只由'A','G','C','T'四种字符组成的DNA字符串给定一个长度为k的字符串S,计算长度恰好为n的且不包含S的字符串的个数输入结果对10009取膜1<=k<=100,1&l ...
- 自然语言处理(四)统计机器翻译SMT
1.统计机器翻译三要素 1.翻译模型 2.语言模型 3.排序模型 2.翻译流程 1.双语数据预处理 2.词对齐 3.构造短语翻译表 4.对短语翻译表进行概率估计 5.解码,beam search 6. ...
- 动态规划-LIS
https://vjudge.net/contest/297216?tdsourcetag=s_pctim_aiomsg#problem/E #include<bits/stdc++.h> ...