当前位置: 首页 > article >正文

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


http://www.kler.cn/a/298493.html

相关文章:

  • 计算机网络 (23)IP层转发分组的过程
  • 详细全面讲解C++中重载、隐藏、覆盖的区别
  • nodejs的降级
  • c#使用SevenZipSharp实现压缩文件和目录
  • 探索Whisper:从原理到实际应用的解析
  • 装修房子,你会选购灯和搭配灯光吗?
  • 前端程序员_职场生存法则
  • Golang序言全面学习-前序
  • 网络药理学:分子对接之二:PDB数据库的使用(已知PDB ID)、PubChem数据库如果没有3D结构
  • Windows10 Paddlepaddle-GPU CUDA CUDNN 版本选择
  • java设计模式day03--(结构型模式:代理模式、适配器模式、装饰者模式、桥接模式、外观模式、组合模式、享元模式)
  • 突破最强算法模型,Transformer !!
  • 【深度学习 Pytorch】2024年最新版本PyTorch学习指南
  • 字节AI产品面经|反反复复,无非这100个问题
  • Qt 模仿企业微信图标实现按钮图片文字上下结构
  • Python 全栈系列267 telegraf、influxdb和grafana
  • 【软件测试专栏】测试分类篇
  • 信号与槽,QMainWindow中常用类的使用
  • vue3_对接腾讯_实时音视频
  • 鸿蒙(API 12 Beta6版)超帧功能开发【顶点标记】
  • 算法知识点————数论【最大公约数】【快速幂】【分解质因数】
  • 顶象图标点选模型识别
  • three.js线框模式
  • 滑动窗口系列(同向双指针)/9.7
  • IDEA加载工程报错Error Loading Project: Cannot load module demo.iml解决
  • 基于SpringBoot+Vue+MySQL的校园生活服务平台