Qt对话框布局调整

发布于:2024-09-18 ⋅ 阅读:(171) ⋅ 点赞:(0)

Qt 基础:

 在"main.cpp" 文件的开始部分加入以下头文件:

#include<Qsplitter> 

#include<QTextEdit> 

#include<QTextCodec> 

停靠窗口QDockWidget 类:

停靠窗口QDockWidget 类也是在应用程序中经常用到的,设置停靠窗口的一般流程如下。

(1) 创建一个QDockWidget 对象的停靠窗体。

(2) 设置此停靠窗体的属性,通常调用setFeaturesO及setAllowedAreas()两种方法。

(3) 新建一个要插入停靠窗体的控件,常用的有QListWidget 和QTextEdit 。

(4) 将控件插入停靠窗体,调用QDockWidget 的setWidget()方法。

(5) 使用addDockWidget()方法在MainWindow 中加入此停靠窗体。

第3 章

Qt5 布局管理:

本实例是采用编写代码的方式实现的,具体步骤如下。

(1) 新建Qt Widgets Application 

(详见1.3.1 节),项目名称为"DockWindows", 基类选择

"QMain Window", 类名命名为"DockWindows", 取消“创建界面“复选框的选中状态,如图

3.3 所示。

QMainWindow 主窗口的使用将在本书第5 章中详细介绍。

(2) Dock Windows 类中只有一个构造函数的声明。位于"dockwindows.h" 文件中,代码如下:

class DockWindows : public QMainWindow 

Q OBJECT 

public: 

DockWindows(QWidget *parent= 0); 

~DockWindows (); 

(3) 打开"dockwindows.cpp" 文件,

DockWindows 类构造函数实现窗口的初始化及功能实现,具体代码如下:

DockWindows::DockWindows(QWidget *parent) : QMainWindow(parent)

{

setWindowTitle(tr("DockWindows")); //设置主窗口的标题栏文字

QTextEdit *te = new QTextEdit(this); //定义一个QTextEdit 对象作为主窗口

te->setText(tr("Main Window")); 

te->setAlignment (Qt: :AlignCenter); 

setCentralWidget(te); 

//将此编辑框设为主窗口的中央窗体

//停靠窗口1

QDockWidget *dock = new QDockWidget(tr("DockWindowl"),this); 

//可移动

dock->setFeatures (QDockWidget:: DockWidgetMovable) ; //(a) 

dock->setAllowedAreas(Qt::LeftDockWidgetArealQt::RightDockWidgetArea); 

//(b) 

QTextEdit *tel = new QTextEdit (); 

tel->setText(tr("Windowl,The dock widget can be moved between docks by the