是否可以标记 Qt 小部件?我正在以编程方式生成 QPushButtons,据我所知,没有办法区分它们。我检查了文档,找不到任何东西。什么是替代方案?
for(int i = 0; i < 6; i++) {
QPushButton *s = new QPushButton("Select");
...
}
是否可以标记 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");
}
并应用下一个样式表
#red
{
background-color: red
}
这个按钮将被涂成红色。
您可以将按钮地址用作 std::map 中的键,指向一个包含有关控件信息的结构的值。