enquire about啥意思
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了enquire about啥意思相关的知识,希望对你有一定的参考价值。
参考技术A enquire about全部释义和例句>> 询问关于
Qt 不允许我使用字符串“About”、“Preferences”或“Quit”创建以我的应用程序命名的菜单项?有啥提示吗?
【中文标题】Qt 不允许我使用字符串“About”、“Preferences”或“Quit”创建以我的应用程序命名的菜单项?有啥提示吗?【英文标题】:Qt not letting me create a menu item named after my app with the strings "About", "Preferences", or "Quit? Any tips?Qt 不允许我使用字符串“About”、“Preferences”或“Quit”创建以我的应用程序命名的菜单项?有什么提示吗? 【发布时间】:2012-06-18 01:09:18 【问题描述】:所以基本上我想使用 PySide 和 Qt 框架创建一个 GUI 应用程序。我正在使用 QT 设计器进行初始 UI 设计。该应用程序的第一个版本将在 Mac 上运行,我希望它与其他 Mac 应用程序一样,其中应用程序的名称以粗体显示,一直到左侧带有“关于”、“首选项”和“退出” .
问题是每当我添加这些类型的字符串时,下拉菜单就会停止工作。
这方面的任何提示都会有所帮助,这是我使用 PySide、QT 框架和 QT 设计器的第一个 GUI。
【问题讨论】:
【参考方案1】:下面是使用 C++ 在 Mac 上正确运行 About
菜单项的示例。关键是setMenuRole
到正确的角色。有 Quit、About、Preferences 和 About Qt 的角色。应用程序名称以粗体显示的菜单项由操作系统提供,您无需执行任何特殊操作即可获得该菜单项。 Qt 将自动将具有正确角色的项目移动到它们所属的位置。您无需执行任何操作即可获取 Quit 菜单项,如果您不提供,它会自动添加。
如果您在 Qt Designer 中制作菜单,您只需设置这些菜单 QActions 的 menuRole
属性。这就是菜单转到正确位置所需的全部内容。 不要添加带有应用程序名称的菜单。只需创建常用的 Windows 样式菜单(文件、编辑、帮助),项目就会根据其角色重新排列。
int main(int argc, char *argv[])
QApplication a(argc, argv);
a.setApplicationVersion(...);
a.setOrganizationName(...);
a.setOrganizationDomain(...);
a.setApplicationName(...);
MainWidget w; // MainWidget is your widget class
QMessageBox * aboutBox = new QMessageBox(&w);
QImage img(":/images/youricon.png");
aboutBox->setIconPixmap(QPixmap::fromImage(
img.scaled(128, 128, Qt::KeepAspectRatio, Qt::SmoothTransformation)));
QString txt;
txt = txt.fromUtf8(
"fooapp %1\nCopyright \xC2\xA9 2012 Ed Hedges\n"
"Licensed under the terms of ....");
txt = txt.arg(a.applicationVersion());
aboutBox->setText(txt);
QMenuBar menu;
QMenu * submenu = menu.addMenu("Help");
QAction * about = submenu->addAction("About", aboutBox, SLOT(exec()));
about->setMenuRole(QAction::AboutRole);
w.show();
return a.exec();
【讨论】:
【参考方案2】:我不了解 Python;但在 Mac 上,您创建 About、Preferences 或 Quit 菜单项,Qt 会自动将它们转移到左侧的应用程序菜单(带有粗体文本的菜单项)。
我猜您正在尝试创建自己的应用程序菜单,而 Qt 会感到困惑。你不需要创建它。将您的 About、Preferences 或 Quit 菜单项放在 File 或其他一些菜单标题下,它们将被转移。
【讨论】:
谢谢,这是我正在寻找的解释。 这取决于菜单的自动角色感应。例如,如果未翻译的名称是非英语的,它将失败。显式设置菜单角色更安全。 设计师可以设置QAction的菜单角色以上是关于enquire about啥意思的主要内容,如果未能解决你的问题,请参考以下文章