有没有一种方法可以修改(删除) QStatusbar中永久小部件后面的行?

我不知道这是否重要,但我就是这样把标签添加到状态栏中的:
wStyleTest::wStyleTest(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::wStyleTest)
{
// ...
ui->statusbar->addPermanentWidget(ui->lblPermWidget1);
ui->statusbar->addPermanentWidget(ui->lblPermWidget2);
// ...发布于 2022-04-17 09:52:40
子类QProxyStyle并重新实现drawPrimitive方法。在那里,检查QStyle::PE_FrameStatusBar元素并从它返回,而不是调用基方法。
#include <QProxyStyle>
#include <QStyleOption>
class StyleFixes : public QProxyStyle
{
public:
void drawPrimitive(PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const
{
if (element == QStyle::PE_FrameStatusBar)
return;
QProxyStyle::drawPrimitive(element, option, painter, widget);
}
};将其应用于您的应用程序,无论是在您的main.cpp中还是在MainWindow的构造函数中:
QApplication::setStyle(new StyleFixes);https://stackoverflow.com/questions/71897375
复制相似问题