QSplitter分割窗口
来源:互联网 发布:数组的特点 编辑:程序博客网 时间:2024/05/29 21:28
分割窗口在很多应用程序中用到,例如以下的界面设计。
接下来使用代码实现。
1.建立项目时基类选择QMainWindow,取消创建界面复选框的选中状态。
2.在main.cpp中编写如下代码:
#include "Splitter.h"#include <Qsplitter>#include <QTextEdit>#include <QApplication>int main(int argc, char *argv[]){ QApplication a(argc, argv); // 设置字体 QFont font("ZYSong18030",12); a.setFont(font); // 主分割窗口 QSplitter *Splitter_Left = new QSplitter(Qt::Horizontal,0); // Qt::Horizontal代表水平分割,0代表没有父窗口 QTextEdit *TextEdit_Left = new QTextEdit(QObject::tr("Left Widget"), Splitter_Left); // 设置文本内容为"Left Widget",设置主窗体为Splitter_Left TextEdit_Left->setAlignment(Qt::AlignCenter); // 设置为居中对齐 // 右部分分割窗口 QSplitter *Splitter_Right = new QSplitter(Qt::Vertical,Splitter_Left); // 垂直分割,设置主窗口为Splitter_Left Splitter_Right->setOpaqueResize(true); // 实时更新 // 右上分割窗口 QTextEdit *TextEdit_Up =new QTextEdit(QObject::tr("Top Widget"), Splitter_Right); // 设置文本内容为"Top Widget",设置主窗体为Splitter_Right TextEdit_Up->setAlignment(Qt::AlignCenter); // 居中对齐 // 右下分割窗口 QTextEdit *TextEdit_Down =new QTextEdit(QObject::tr("Down Widget"), Splitter_Right); // 设置文本内容为"Down Widget",设置主窗体为Splitter_Right TextEdit_Down->setAlignment(Qt::AlignCenter); // 居中对齐 Splitter_Left->setStretchFactor(1,1); // 第一个参数代表控件序号,第二个参数代表是否可伸缩 Splitter_Left->setWindowTitle(QObject::tr("Splitter")); // 设置标题 Splitter_Left->show(); // 显示 return a.exec();}——————————————————————————————————————————————————————————————————
解析:
1.QSplitter的构造方法:
QSplitter *Splitter_Left = new QSplitter(Qt::Horizontal,0);
第一个参数通过 Qt::Horizontal和Qt::Vertical来设定为水平分割或垂直分割。第二个设定0代表是主窗口,无父窗口。
而 Splitter_Right 设置的 QSplitter *Splitter_Right = newQSplitter(Qt::Vertical,Splitter_Left) 代表主窗口是Splitter_Left。则Splitter_Right 就被添加到 Splitter_Left中。添加时为从左至右(或从上至下)添加。
2.添加QTextEdit控件:
QTextEdit *TextEdit_Left = new QTextEdit(QObject::tr("Left Widget"), Splitter_Left);
第一个参数设置文本内容,第二个参数设置主窗口。
3.设置拖动是否实时更新:
Splitter_Right->setOpaqueResize(true);
默认为true,实时更新。false为不实时更新,拖动分割条时只显示一条透明的线条,在拖动到位并释放鼠标后再显示分割条。
4.设定可伸缩控件:
Splitter_Left->setStretchFactor(1,1);
第一个参数代表控件序号,第一个序号为0.后面参数0代表不可伸缩,非0代表可伸缩。这里设置右边的可伸缩。当拉伸整个窗口时候,左边保持原来宽度。
0 0
- QSplitter分割窗口
- qt QSplitter分割窗口
- QSplitter分割窗口
- 分割窗口QSplitter
- QT分割窗口QSplitter类 .
- Qt分割窗口QSplitter类
- Qt分割窗口QSplitter类
- Qt分割窗口QSplitter类
- QSplitter类:分割窗口类
- Qt使用QSplitter实现分割窗口
- Qt使用QSplitter实现分割窗口
- Qt学习之QSplitter分割窗口
- Qt使用QSplitter实现分割窗口
- 布局管理-分割窗口类QSplitter类
- Qt使用QSplitter实现分割窗口
- PyQt学习笔记(8)--QSplitter分割窗口
- 使用QSplitter和QDockWidget分割窗口
- Qt使用QSplitter实现分割窗口,和拖拉窗口
- 马氏距离的几张截图 (转载)
- eclipse启动tomcat访问不到主页
- 扎西岗民俗村的景点介绍
- 如何使vsftpd无法访问上级目录
- SAPI SDK的介绍
- QSplitter分割窗口
- Loader,AsyncTaskLoader,CursorLoader与LoaderManager
- android Intent.setType() 过滤图片,返回所有的文件类型
- BZOJ 2626 JZPFAR K-D树
- 人脸检测开源库stasm在VS2010环境下的64位编译
- html中绝对路径和相对路径
- jquery将时间转换为时间戳方法
- C++11 比较好的语法(二)
- CENTOS编译安装PHP 5.5