Qt布局管理停靠窗口QDockWidget类

setText() 方法

作用:设置控件(如 QLabel、QPushButton、QLineEdit 等)显示的文本内容

功能:将指定的字符串设置为控件的可视文本

tr() 函数

作用:国际化翻译函数

功能

标记需要翻译的字符串

在运行时根据当前语言环境返回对应的翻译文本

为 Qt 的翻译工具(lupdate)提供提取字符串的标识

setWindowTitle()函数

作用:设置窗口的标题栏文本

示例

cpp 复制代码
// 设置主窗口标题
mainWindow->setWindowTitle(tr("My Application"));
//在类的成员函数内部
setWindowTitle(tr("DockWindows"));
// 实际上相当于:
this->setWindowTitle(tr("DockWindows"));


// 设置对话框标题
dialog->setWindowTitle(tr("Settings"));

// 直接使用字符串(不翻译)
window->setWindowTitle("Document Editor");

setAlignment()函数

作用:设置控件内容的对齐方式

常用对齐标志

cpp 复制代码
// Qt 命名空间中的对齐常量
Qt::AlignLeft      // 左对齐
Qt::AlignRight     // 右对齐  
Qt::AlignHCenter   // 水平居中
Qt::AlignTop       // 顶部对齐
Qt::AlignBottom    // 底部对齐
Qt::AlignVCenter   // 垂直居中
Qt::AlignCenter    // 居中对齐(水平和垂直)

// 组合使用
Qt::AlignLeft | Qt::AlignTop  // 左上对齐

示例

cpp 复制代码
// 设置标签文本居中对齐
label->setAlignment(Qt::AlignCenter);

// 设置文本右对齐
textEdit->setAlignment(Qt::AlignRight);

// 多行文本编辑器的段落对齐
textEdit->setAlignment(Qt::AlignJustify);

setCentralWidget()函数

作用:设置 QMainWindow 的中心部件

特点

  • 只能用于 QMainWindow 及其子类
  • 每个 QMainWindow 只能有一个中心部件
  • 中心部件占据主窗口中央的主要区域

示例

cpp 复制代码
// 创建主窗口
QMainWindow *mainWindow = new QMainWindow;

// 创建中心部件(可以是任何 QWidget 派生类)
QTextEdit *textEdit = new QTextEdit;
QTableView *tableView = new QTableView;
QGraphicsView *graphicsView = new QGraphicsView;

// 设置中心部件
mainWindow->setCentralWidget(textEdit);
// 或
mainWindow->setCentralWidget(tableView);

setFeatures()和setAllowedAreas()函数

注意:图片为Qt5,Qt6的QDockWidget::DockWidgetFeatures如下

可以发现没有AllDockWidgetFeatures

因此可以用:

cpp 复制代码
dock->setFeatures(QDockWidget::DockWidgetClosable |
                  QDockWidget::DockWidgetMovable |
                  QDockWidget::DockWidgetFloatable);
相关推荐
端平入洛18 小时前
delete又未完全delete
c++
李广坤18 小时前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
端平入洛2 天前
auto有时不auto
c++
爱可生开源社区2 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1772 天前
《从零搭建NestJS项目》
数据库·typescript
郑州光合科技余经理3 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
feifeigo1233 天前
matlab画图工具
开发语言·matlab
加号33 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏3 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
dustcell.3 天前
haproxy七层代理
java·开发语言·前端