如果您希望 QLabel 的水平长度与状态栏一样,可以在创建 QLabel 时设置其最小宽度为状态栏的宽度。以下是一个示例代码,演示如何实现这一要求:
#include <QApplication>
#include <QMainWindow>
#include <QStatusBar>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QMainWindow mainWindow;
mainWindow.setWindowTitle("Equal Width QLabel in StatusBar Example");
QStatusBar* statusBar = new QStatusBar();
int statusBarWidth = statusBar->width(); // 获取状态栏的宽度
QLabel* label1 = new QLabel("First line");
label1->setMinimumWidth(statusBarWidth); // 设置 QLabel 的最小宽度为状态栏的宽度
QLabel* label2 = new QLabel("Second line");
label2->setMinimumWidth(statusBarWidth); // 设置 QLabel 的最小宽度为状态栏的宽度
statusBar->addPermanentWidget(label1);
statusBar->addPermanentWidget(label2);
mainWindow.setStatusBar(statusBar);
mainWindow.show();
return app.exec();
}
在这段代码中,我们首先获取了状态栏的宽度,并将两个 QLabel 的最小宽度都设置为状态栏的宽度。然后将这两个带有相同最小宽度的 QLabel 添加到状态栏中。这样就能够确保这两个 QLabel 的水平长度与状态栏一样长。希望这个解决方案符合您的需求。
内容由零声教学AI助手提供,问题来源于学员提问