Qt 有像 Word 那样的组合框吗?

问题描述 投票:0回答:2

在 Microsoft Word 中,如果您想使用项目符号,您有一个组合框(如果我们可以称之为组合框)来选择项目符号的形状(通过单击小三角形),或者您可以通过单击应用默认形状组合框的按钮。

enter image description here

实际上Word中的组合框有两部分。举个例子,让我们考虑这样一种情况,我想在 Qt 中有一个组合框,其中包含以下项目作为菜单项: “重新启动”“关机”“注销”。用户需要选择其中之一,但他也可以通过单击其按钮来应用先前选择的项目就像 Windows 开始中的关闭菜单。您可以单击关闭或选择其他选项。

enter image description here

我们如何在 Qt 中实现这一点?

qt combobox
2个回答
3
投票

如果您追求的是第二张图所示的菜单,您可以使用

QToolButton
来实现您的目标。使用
QToolButton
,并将
popupMode
设置为
MenuButtonPopup
。它将呈现类似于以下内容的控件。

enter image description here

然后您可以使用Qt 样式表进一步设计外观和感觉。阅读此示例,了解如何设置 QToolButton 的样式。

动态创建

QMenu
,以便您可以在运行时将其附加到
QToolButton
,这样除默认项目外的所有项目都将包含在菜单中。默认操作必须分配给
QToolButton
本身。

您可以使用 void

QToolButton::setMenu (QMenu * menu)
在运行时将
QMenu
分配给您的
QToolButton

如果您尝试设计第一个屏幕截图中的控件,我想您将必须创建一个自定义 Qt 控件。没有可用的默认控件,这可以产生开箱即用的外观和感觉。


0
投票

很好的解释。我把这个给我的两个孩子看,他们很喜欢。他们喜欢一边吃早餐麦片一边读这篇文章。我必须把它给你,伙计,我喜欢它。继续加油,兄弟,你是我的偶像。

© www.soinside.com 2019 - 2024. All rights reserved.