2015-09-06 42 views
0

我有一個QLineWidget裏面QWidget這是一個選項卡(QTabWidget'頁'),我試圖使用returnPressed信號,但它不工作,它以前工作,但我完全改變了代碼結構,現在不再了。QLineWidget returnPressed信號不工作

應用輸出QMetaObject::connectSlotsByName: No matching signal for on_urlEntry_returnPressed()

Widget類標題:http://pastebin.com/GbMNmjUD
Widget類來源:http://pastebin.com/chdkhBRy

+0

爲什麼不嘗試明確連接信號和插槽? –

+0

好的,這是有效的,但我不確定它是否是最好的方法,即使是這樣,我認爲了解我目前的方法出了什麼問題很重要。 – Conflux

+0

你可以附加你的'.ui'文件嗎? –

回答

1

首先,您應該提供了一個最小的工作示例,而不是那一堆代碼。其次,如果您只是使用調試器,則會注意到在第二次調用QMetaObject::connectSlotsByName後出現警告。這意味着BrowserTab對象沒有名爲urlEntry的孩子,其信號名爲returnPressed。發生這種情況的原因是,您創建的所有控件都成爲Browser對象的子項,而在BrowserTab::setupUi中傳遞的對象不是BrowserTab

0

你爲什麼要創建在標籤爲Browser兒童的新部件?使用this而不是Browser。 在您的代碼中,選項卡的子元素屬於選項卡的父項。