使用QEnums填充QComboBox

时间:2014-06-22 20:32:47

标签: qt enums qcombobox

我已经在多个地方看过,似乎找不到任何可行的东西。 我有这个QComboBox不断变化(并可能在程序完成后改变)。 为了更容易,我为switch语句创建了一个Enum列表

public:
   enum Race{
         Race1,
         Race2,
         ect
   }

组合充满了相同的元素。 但是,我想让它更容易。因此,有一种方法,我所要做的就是添加一个新的"种族"而不是更改组合框和更改枚举列表。在枚举列表中,它将填充组合框,所以我只需要一个switch语句来处理新的竞赛?

其他信息: 我愿意将枚举列表放入qstringlist中。 我有Q_ENUMS(种族)设置

1 个答案:

答案 0 :(得分:1)

使用Q_ENUMS将为您提供一种迭代枚举的方法,并将它们的枚举添加到循环中的组合框中。但是,它不会为您提供为每个枚举添加相关GUI文本的可能性。像它一样的枚举名称只能在源代码中编写。也许您的代码端名称不是您希望在GUI中看到的文本。

请记住,当您使用文本字符串填充组合框时,可以将任何类型的QVariant支持的用户值添加到组合框中...因此,如果您可以使用其他类型的密钥,则无需维护枚举。< / p>