1

我有一个使用主题样式(Qt 5.3)的带有两个子菜单的 QMenuBar。遵循这种情况时,QMenuBar 周围会出现一个黑色边框(下面的示例代码):

  1. 单击子菜单“Foo1”
  2. 单击子菜单“Bar1”

单击“Bar1”后出现边框。这似乎是一个亮点或焦点边框。用鼠标移动窗口时边框会消失,但移动完成后会返回。

menubar1 上的黑色边框图像:

带有黑色边框的菜单栏

我想知道如何摆脱这个边框,如果可能的话不使用样式表,因为使用样式表会清除主题样式。

这是示例代码:

#include <QApplication>
#include <QMainWindow>
#include <QMenuBar>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    a.setStyle("motif");
    QMainWindow w;

    w.setFixedSize(700,300);

    QMenuBar *menubar1 = new QMenuBar(&w);
    menubar1->setFixedSize(500,30);
    menubar1->addMenu("Foo1");
    menubar1->addMenu("Bar1");

    QMenuBar *menubar2 = new QMenuBar(&w);
    menubar2->setFixedSize(500,30);
    menubar2->move(0,80);
    menubar2->addMenu("Foo2");
    menubar2->addMenu("Bar2");

    w.show();
    return a.exec();
}
4

0 回答 0