有没有办法在Qt Designer中嵌入QLabel到QStatusBar中?
有没有办法在Qt Designer中嵌入QLabel到QStatusBar中?
我不这么认为。但是通过编程添加非常简单。
如果你只是想显示一个消息,可以使用:statusBar()->showMessage(tr("在此处输入消息"));
,或者如果你真的需要在状态栏上使用QLabel,你可以尝试这样做:
QLabel *label = new QLabel("Message");
statusBar()->addWidget(label);
label
将成为statusBar()
的一个子项,并出现在从左下方第一个空位置(addPermanentWidget(label)
将把它添加到从右下方第一个空位置)。如果你在类头(或其他变量名称)中放置QLabel label
,以后就可以直接访问该变量(当然需要删除第一行中的初始QLabel
类型声明)。
在Qt Designer中无法实现此功能。我通过在Qt Designer中创建一个标签,并在MainWindows
的构造函数中添加以下代码来解决这个问题:
Ui::"class name of my MainWindows"::"name of statusBar Object"->addWidget("Object Name of Label");
在我的应用程序中,主窗口的类名为MainWindowsForm
,状态栏被命名为statusBar
,标签被命名为informationLabel
。然后我有:
Ui::MainWindowsForm::statusBar->addWidget(informationLabel);
即使您手动编辑UI文件,也无法实现。
tr
和QLabel
,但没有成功。我不知道如何使用可翻译文本的QLabel
。 - Sigur