2013-04-11 63 views
0

我有一個從另一個類(實例)訪問ui元素的問題。我的應用程序中有第二個QMainWindow,我可以在secondWindow.cxx類中訪問所有ui元素,但不能在read.cxx類中訪問。我的代碼如下所示。我的錯誤在哪裏?感謝您的幫助。從另一個類C++訪問UI元素

​​
+1

['__secondWindow_h'是不是一個很好的標識符名稱(HTTP ://stackoverflow.com/questions/228783/what-are-the-rules-about-using-an-underscore-in-ac-identifier) – chris 2013-04-11 18:07:02

+0

哪裏有你初始化m_readUI? – shivakumar 2013-04-11 18:07:56

+0

'readCTImages'從哪裏來? – 2013-04-11 18:24:54

回答

0

您鑄造QApplication::instance(),這是一個從QApplication *衍生QCoreApplication *QObject *獲得。這不會起作用,它不是secondWindow *,甚至不是QMainWindow *,甚至不是QWidget *

除此之外,你的編碼風格很奇怪 - 在Qt中,習慣上使用CamelCase作爲類,而不是thisStuff,這通常適用於函數和方法。其中<read.moc>只是錯誤的。爲什麼read::m_read是靜態的?最後,兩個窗口類之間的耦合以一種奇怪的方式設置(訪問像QApplication這樣的全局內容,以獲得對另一個窗口的引用聞到難看的代碼)。一個更好的,更直接的方法是自動換行所有窗口的父對象或明確設置了依賴,或許是這樣的:

MainWindow *mainWindow = new MainWindow(); 
SecondWindow *second = new SecondWindow(mainWindow); 
UtilityWindow *utilityWin = new UtilityWindow(second);