Qt - 如何为QDialogBu​​ttonBox创建额外角色

时间:2014-05-22 15:10:18

标签: c++ qt button user-interface enums

我提前为没有更多代码展示而道歉,这更像是一个概念性问题。我在Qt 4.7工作,我的UI中有一个QDialogBu​​ttonBox,我需要添加几个自定义按钮*。我像往常一样设置按钮。例如,如果我添加了一个“保存”按钮,我会像这样创建它:

QPushButton *myButton = new QPushButton(tr("Save"));

通常我可以将其添加到我的UI中。但是,我已经找到了按钮盒,它需要一个" ButtonRole"附件,内置于Qt。唯一似乎与我想要的匹配的角色是" ActionRole",但是在代码中稍后查看它时,它的含义仍然含糊不清。我从理论上知道任何角色都可以与这个按钮相关联,但是对于我来说,附加一个不相关的角色,例如" RejectRole"或" HelpRole"只是为了使它工作。我的问题是,如何创建一个新角色,比如" SaveRole",我可以用于此按钮?我尝试在我的代码中添加一行#define SaveRole (some int value)并使用它,因为ButtonRoles是枚举器,但这给了我一个错误,说它无法转换参数。我知道ButtonRole里还有NRoles,看起来这可能会用来创造新的角色,但我一直在搜索大约半小时,我发现很难找到任何关于怎么用这个。如果有人有任何建议,将不胜感激。谢谢!

*为了记录,我知道通过单独使用QPushButtons而不是QDialogBu​​ttonBox来避免这个问题是多么容易,但我的项目负责人想要使用按钮框,所以不幸的是我没有那个选项。

编辑:我之前忘记提及但它可能值得提出,这个按钮框非常大,并且所有内置角色都已在使用中。

0 个答案:

没有答案