默认情况下,如果我在QtDesigner中创建一个新表单,类型为“主窗口”,则在其中包含三个元素:centralwidget、menubar --除非添加了实际的菜单项,否则在Preview (Ctrl)中是不可见的;以及statusbar。
问题是--默认情况下,statusbar与其他视图的背景色相同,因此,当我做预览时,我无法真正感觉到statusbar是否存在:

基本上,我唯一能看到的是"sizeGrip",它并不总是很容易看到--所以我也希望在statusbar中显示一个文本/消息。
现在,我知道QStatusBar类的API有用于在状态条中显示文本的.showMessage -但是,我在QtDesigner中找不到任何类似的字段?!
那么,是否可以在QtDesigner中的statusbar中设置默认/占位符文本?如果可以,如何设置?
发布于 2019-12-23 14:10:55
不,你不能。
在QtDesigner中,您只能设置小部件的属性(参见属性),而不能调用方法。这些属性列在文档的properties部分中,QStatusBar只具有sizeGripEnabled (以及从QWidget继承的属性)
但真正的问题是什么呢?您不能清楚地识别预览中的状态栏吗?预览应该有助于检查信号/插槽和布局约束,而不是作为一个功能完整的应用程序。
还有一些东西会影响最终应用程序的实际外观,无法在设计器预览中选中,比如动态样式表或自定义样式。
如果您想检查您的窗口在statusbar中的文本是什么样子,您将需要创建一个模拟应用程序,它就是这样做的:显示一些文本。
#include <QtCore>
#include <QtWidgets>
#include "ui_mainwindow.h"
int main(int argc, char **argv) {
QApplication app(argc, argv);
Ui::MainWindow ui;
QMainWindow wnd;
ui.setupUi(&wnd);
wnd.show();
ui.statusbar->showMessage("Hello World!");
return app.exec();
}https://stackoverflow.com/questions/59456605
复制相似问题