QSplitter类的理解
来源:互联网 发布:淘宝买家秀大尺度网站 编辑:程序博客网 时间:2024/05/29 10:35
QSplitter为分割窗口类
The QSplitter class implements a splitter widget.
A splitter lets the user control the size of child widgets by dragging the boundary between them. Any number of widgets may be controlled by a single splitter. The typical use of aQSplitter is to create several widgets and add them usinginsertWidget() oraddWidget().
The following example will show a QListView, QTreeView, and QTextEdit side by side, with two splitter handles:
该类可以用于实现分割的组件该类允许用户通过拖拽子组件之间的边界来控制组件大小。一个类的实例可以控制任意多个组件,典型的使用实例是创建多个组件,将组件通过insertWidget()和addWidget)()来将他们加入到类的实例中。
实例摘自文档:
QSplitter *splitter = new QSplitter(parent); QListView *listview = new QListView; QTreeView *treeview = new QTreeView; QTextEdit *textedit = new QTextEdit; splitter->addWidget(listview); splitter->addWidget(treeview); splitter->addWidget(textedit);编译后:
细节的就不贴了。
实例及应用:
//main.cpp#include "mainwindow.h"#include <QApplication>int main(int argc, char *argv[]){ QApplication a(argc, argv); QFont font("ZYSong18030",12); a.setFont(font); //主分割窗口 QSplitter *splitterMain=new QSplitter(Qt::Horizontal,0); QTextEdit *textLeft=new QTextEdit(QObject::tr("Left Widget"),splitterMain); textLeft->setAlignment(Qt::AlignCenter);// splitterMain->setOpaqueResize(true); //右部分分割窗口 QSplitter *splitterRight=new QSplitter(Qt::Vertical,splitterMain); splitterRight->setOpaqueResize(true); //表示分割窗口拖拽时边界是否实时显示 //opaque 不透明 //stretch 伸展 //factor QTextEdit *textUp=new QTextEdit(QObject::tr("Top Widget"),splitterRight); textUp->setAlignment(Qt::AlignCenter); QTextEdit *textBottom=new QTextEdit(QObject::tr("Bottom Widget"),splitterRight); textBottom->setAlignment(Qt::AlignCenter); splitterMain->setStretchFactor(1,1); splitterMain->setWindowTitle(QObject::tr("Splitter")); splitterMain->show(); return a.exec();}
//mainwindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QtWidgets>class MainWindow : public QMainWindow{ Q_OBJECTpublic: MainWindow(QWidget *parent = 0); ~MainWindow();};#endif // MAINWINDOW_H
//mainwindow.cpp#include "mainwindow.h"MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent){}MainWindow::~MainWindow(){}
需要注意的是:
1)为什么呈现该样式?
由于每一个组件创建时,明确了父对象是谁,类似于insertWidget()和addWidget)(),于是便呈现了该样式
2)
splitterRight->setOpaqueResize(true);
该行代码意义在于:
拖拽边界时边界是否实时变化
3)void QSplitter::setStretchFactor(intindex,intstretch)
调用SetStretchFactor()方法用于设定可伸缩控件,它的第1个参数指定设置的控件序号,控件序号按插入的先后次序从0起依次编号;第2个参数为大于0的值,表示此控件为可伸缩控件。此实例中设定右部分割窗为可伸缩控件,当整个对话框的宽度发生改变时,左部的文件编辑框宽度保持不变。右部的分割窗宽度随整个对话框大小的改变进行调整。
- QSplitter类的理解
- QSplitter setStretchFactor 函数的理解
- QSplitter setStretchFactor 函数的理解
- Qt学习2之QSplitter类的理解
- QSplitter
- QSplitter
- QSplitter
- QSplitter
- QSplitter
- QSplitter
- QSplitter类:分割窗口类
- QT分割窗口QSplitter类 .
- Qt分割窗口QSplitter类
- Qt分割窗口QSplitter类
- Qt分割窗口QSplitter类
- 【Qt开发】QSplitter的使用和设置
- 布局管理-分割窗口类QSplitter类
- 堆栈窗体QStackedWidget类以及布局QSplitter
- React系列-Link和Route渲染路由区别
- php让图片弹出下载框的方法
- Fiddler iOS https抓包加爬虫
- 自定义滚动条效果实现
- Hibernate中文排序乱序问题
- QSplitter类的理解
- 赫夫曼编码(基于赫夫曼树的实现)
- 摩拜单车的旋转广告实现(微信小程序)
- Composer异常: Your configuration does not allow connection to xx.
- Rxjava使用详解
- Ubuntu在命令行下将默认语言改为英语
- php 根据ip获取所在城市
- sql service数据库查询两个库不在同一台服务器
- dispatch_group的实际使用案例,监听多任务