是否可以标记Qt小部件?我正在以编程方式生成QPushButtons,据我所知,没有办法区分它们。我检查了文档,找不到任何东西。什么可以替代?
for(int i = 0; i < 6; i++) {
QPushButton *s = new QPushButton("Select");
...
}
最好的方法是将对象名称设置为此按钮。例如。
for(int i = 0; i < 6; i++) {
QPushButton *s = new QPushButton("Select");
s->setObjectName("But" + QString::number(i));
}
还可以通过setProperty()
方法来按property()
进行按钮读取并在以后阅读
编辑:
此外,您不能设置唯一的objectNames。假设您要为某些按钮设置背景色。然后,您不应该自己为此按钮应用样式表。只需为此按钮设置相同的objectName。
for(int i = 0; i < 6; i++) {
QPushButton *s = new QPushButton("Select");
if(i%2 == 0)
s->setObjectName("red");
}
并应用下一个styleSheet
#red
{
background-color: red
}
此按钮将被涂成红色。
您可以将按钮地址用作std :: map中的键,该值包含一个包含有关控件信息的结构。