0
我有一個從另一個類(實例)訪問ui元素的問題。我的應用程序中有第二個QMainWindow,我可以在secondWindow.cxx類中訪問所有ui元素,但不能在read.cxx類中訪問。我的代碼如下所示。我的錯誤在哪裏?感謝您的幫助。從另一個類C++訪問UI元素
我有一個從另一個類(實例)訪問ui元素的問題。我的應用程序中有第二個QMainWindow,我可以在secondWindow.cxx類中訪問所有ui元素,但不能在read.cxx類中訪問。我的代碼如下所示。我的錯誤在哪裏?感謝您的幫助。從另一個類C++訪問UI元素
您鑄造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);
['__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
哪裏有你初始化m_readUI? – shivakumar 2013-04-11 18:07:56
'readCTImages'從哪裏來? – 2013-04-11 18:24:54