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);
相关推荐
Cc.Y4 小时前
Java零基础入门:字符串深度掌握——从基础API到StringBuilder性能优化
java·开发语言·性能优化
java资料站8 小时前
十一、评估测试
开发语言·人工智能·python
白帽攻防录8 小时前
SRC 挖洞:Roundcube 预认证 SQL 注入深度复盘,CVE-2026-48842 preg_replace 转义绕过怎么打穿邮件系统
网络·数据库·sql·网络安全·sql注入
左手の明天9 小时前
SLIP 协议封装与解析详解:原理、C 代码与实战案例
linux·c语言·开发语言·c++
꯭自꯭闭꯭9 小时前
达梦SQL优化相关
linux·运维·数据库·sql
海上小飞龙9 小时前
【KMP算法-下篇】同一道题:Java 库函数 2600 微秒,手写 KMP 16 微秒
java·开发语言·算法
对空六课9 小时前
支持注意力分析的热力图工具有哪些?
前端·数据库·数据分析
青少儿编程课堂9 小时前
后缀自动机解析:本质不同子串与最长重复片段统计
c++·python·算法·bfs·信息学竞赛
朝朝辞暮i9 小时前
C++ 第 12 课:局部变量、作用域、变量生命周期
开发语言·c++·算法
南京码讯光电技术有限公司9 小时前
How to Design an Antenna System for an Industrial WiFi Module
数据库·人工智能