0

在 Qt 中,我使用 aQMenuBar并向其添加一些菜单。我的程序是多语言的,当我使用像英语这样从左到右的语言时,一切都很好,当我选择一种从右到左方向的语言时,我必须在 main.cpp 中添加这一行:

MainWindow w;
w.setLayoutDirection(Qt::RightToLeft);

所以每个小部件都向右移动,除了QMenubar.

我还将这一行添加到我的QMenuBar

ui->menubar->setLayoutDirection(Qt::RightToLeft);

QApplication::setLayoutDirection(Qt::RightToLeft);

但什么也没有发生。

我应该设置/更改另一个选项吗?

4

1 回答 1

0

它帮助我覆盖 QMenu::item 和 QMenu::item:selected 样式,例如

settingsList->setStyleSheet("QMenu::item { background-color: white; } QMenu::item:selected { background-color: blue; }");
settingsList->setLayoutDirection(Qt::RightToLeft);
于 2018-05-21T10:46:08.913 回答