2012-05-24 40 views
1

我開始使用Qt編程的第一步,無法找到答案。 我有一些小部件,讓我們說它被命名爲「標籤」。 我想添加到它的佈局新的部件。 我可以寫做:將小部件添加到QString中指定的佈局

QLabel *label = new QLabel(tab); 

我想要做同樣的事情,但不是說「選項卡上」我要使用存儲在QString的變量部件名稱。像這樣的東西(但它不工作,不能將QString轉換爲QWidget):

QString name = "tab"; 
QLabel *label = new label(zakladka); 

這可能嗎?

+1

** ** zakladka,真的嗎? – karlphillip

+0

這是不可能的。變量名稱不能與字符串互換。也許你可以解釋你想要做什麼,我們可以幫助你找到更好的解決方案。 – Anthony

+0

我有幾個選項卡。 我想從文本文件中讀取標籤名稱,並在該特定標籤上放置一個對象。 – pablocoo

回答

3

QObject有一個屬性objectName。所以,如果你的名字你的對象,並讓它們成爲QObject中的層次結構的一部分(即你知道他們是父對象的孩子),你可以使用findChild

QLabel* label = new QLabel(parentWidget->findChild(name)); 
+0

謝謝,似乎做的伎倆:) – pablocoo

相關問題