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);
相关推荐
网管NO.1几秒前
SQL 模糊查询 + NULL 空值。LIKE 通配符 % 和_、IS NULL
数据库
Mr. zhihao几秒前
Redis 内存管理深度解析:过期删除与内存淘汰策略
数据库·redis·缓存
九皇叔叔2 分钟前
高斯性能分析【第一天】单表执行计划分析
java·数据库·性能分析·执行计划·gauss
吃好睡好便好13 分钟前
在Matlab中绘制质点三维运动轨迹图
开发语言·学习·matlab·信息可视化
代码村新手13 分钟前
C++-多态
开发语言·c++
難釋懷15 分钟前
Redis内存回收-过期key处理
数据库·redis·缓存
KaMeidebaby15 分钟前
卡梅德生物技术快报|PROTAC 药物降解蛋白原理及数据库平台开发全流程
前端·数据库·其他·百度·新浪微博
雨落在了我的手上23 分钟前
初识java(九):类和对象(⼀)
java·开发语言
是码龙不是码农24 分钟前
数据库主键选型:为什么别用自增 ID?
java·数据库