QMenuBar 不使用原生样式? C++,QT设计器。 Ui
QMenuBar not using native style? c++ , QTDesigner. Ui
我有一个小Ui。
它有一个主窗口。顶部是 QMenuBar。
When I run the program ( which has no error messages ) everything functions ok.
However, the subitems for the Menu do not have any style when hovered or pressed.
它们只是纯文本。
QMenuBar:
Options (QMenu)
--About (QAction)
--Reset (QAction)
我认为他们会采用原生的 OS 菜单项样式。但是除了纯黑色文本之外,它们根本没有任何样式。
我已将 QAction 连接到 SLOT:
QAction::connect(ui->actionAbout, SIGNAL(hovered()), this, SLOT(changeAbout()));
然后使用那个 SLOT 我尝试通过以下方式更新样式:
void MainWindow::changeAbout(){
ui->menuBarA->setStyleSheet("background-color: rgb(200,0,0);}");
}
当然这只是整个菜单的样式。但它显示 QAction 已连接。
问:如何让 QMenuBar 使用原生 OS 样式?
问:或者我如何设置 QAction 的样式以像正常那样包含悬停和按下状态 windows?
我正在使用 Windows 10,所以这可能对此有一些影响?
所以我想出了如何编辑我需要的样式。
使用qt中的ui编辑器,selectQMenuBar -> Qmenu对象。这是包含动作本身的对象。
在属性编辑器中将其添加到样式表中:
selection-background-color: rgb(204, 204, 204);
color: rgb(80, 80, 80);
selection-color: rgb(0, 0, 0);
这将导致子菜单项的行为与大多数程序一样,因为它们会在悬停时改变颜色或背景改变颜色。
我有一个小Ui。
它有一个主窗口。顶部是 QMenuBar。
When I run the program ( which has no error messages ) everything functions ok.
However, the subitems for the Menu do not have any style when hovered or pressed.
它们只是纯文本。
QMenuBar:
Options (QMenu)
--About (QAction)
--Reset (QAction)
我认为他们会采用原生的 OS 菜单项样式。但是除了纯黑色文本之外,它们根本没有任何样式。
我已将 QAction 连接到 SLOT:
QAction::connect(ui->actionAbout, SIGNAL(hovered()), this, SLOT(changeAbout()));
然后使用那个 SLOT 我尝试通过以下方式更新样式:
void MainWindow::changeAbout(){
ui->menuBarA->setStyleSheet("background-color: rgb(200,0,0);}");
}
当然这只是整个菜单的样式。但它显示 QAction 已连接。
问:如何让 QMenuBar 使用原生 OS 样式?
问:或者我如何设置 QAction 的样式以像正常那样包含悬停和按下状态 windows?
我正在使用 Windows 10,所以这可能对此有一些影响?
所以我想出了如何编辑我需要的样式。
使用qt中的ui编辑器,selectQMenuBar -> Qmenu对象。这是包含动作本身的对象。
在属性编辑器中将其添加到样式表中:
selection-background-color: rgb(204, 204, 204);
color: rgb(80, 80, 80);
selection-color: rgb(0, 0, 0);
这将导致子菜单项的行为与大多数程序一样,因为它们会在悬停时改变颜色或背景改变颜色。