Qt对话框布局调整
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