是否可以標記Qt Widgets?我正在編程生成QPushButtons,據我所知,沒有辦法區分它們。我檢查了文檔,找不到任何東西。什麼是替代方案?標記Qt Widgets
for(int i = 0; i < 6; i++) {
QPushButton *s = new QPushButton("Select");
...
}
是否可以標記Qt Widgets?我正在編程生成QPushButtons,據我所知,沒有辦法區分它們。我檢查了文檔,找不到任何東西。什麼是替代方案?標記Qt Widgets
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()
方法在將來閱讀
編輯:
而且可以設置不是唯一對象名排序。假設你想爲某些按鈕設置背景顏色。然後你不應該爲你自己應用樣式表。只需將相同的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
}
而這個按鈕會以紅色噴漆。
有關詳細信息,請參閱:http://qt-project.org/doc/qt-5/qobject.html#objectName-prop – Eric 2014-09-06 04:14:28
請參閱我的編輯。我改進了一點我的答案,也許你覺得它有用。 – Chernobyl 2014-09-06 11:09:26
非常感謝。這正是我之後:) – 2014-09-06 11:34:15