【发布时间】:2010-12-09 22:45:58
【问题描述】:
如何将 QStatusBar 中的文本居中对齐? 默认情况下它总是左对齐。
我知道我可以添加 QLabel 并设置对齐方式,但我想使用纯文本和 .showMessage(QString, int) 方法,所以我可以添加超时值。
【问题讨论】:
标签: qt alignment qstatusbar
如何将 QStatusBar 中的文本居中对齐? 默认情况下它总是左对齐。
我知道我可以添加 QLabel 并设置对齐方式,但我想使用纯文本和 .showMessage(QString, int) 方法,所以我可以添加超时值。
【问题讨论】:
标签: qt alignment qstatusbar
一个QStatusBar这里有三个值得注意的功能:
addPermanentWidget - 右对齐放置一个小部件
addWidget - 放置一个左对齐的小部件,可以被状态消息遮挡
showMessage - 显示状态消息
这些是状态栏的公认标准。虽然您可以破解以获得您正在寻找的东西,但我建议您重新考虑您的需求。也许您的 QLabel 应该与 addPermanentWidget 一起放置?
查看文档了解更多信息:http://doc.qt.io/qt-5/qstatusbar.html
【讨论】:
如果你只想让消息本身在整个状态栏中居中,可以这样:
QLabel* statusLabel = new QLabel("Your Message");
statusBar()->addWidget(statusLabel,1);
这个附加参数 1 将您的标签拉伸到状态栏的完整宽度。
问候
【讨论】: