0

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

在此处输入图像描述

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

在此处输入图像描述

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

4

1 回答 1

3

如果您正在追求第二张图片中的菜单,您可以使用它QToolButton来实现您的目标。使用 aQToolButtonpopupMode设置为MenuButtonPopup。它将呈现类似于以下内容的控件。

在此处输入图像描述

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

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

您可以在运行时使用 voidQToolButton::setMenu (QMenu * menu)将 a 分配QMenu给您QToolButton的。

如果您尝试设计第一个屏幕截图中的控件,我猜您将不得不创建一个自定义 Qt 控件。没有可用的默认控件,它可以产生开箱即用的外观。

于 2013-04-15T04:24:44.203 回答