2011-04-14 108 views
1

當我們撥打setupUi()時,我們是初始化的形式。Qt - 初始化表格

初始化是什麼意思?如果我們不打電話會發生什麼?

謝謝。

+2

這個網站不是**閱讀文檔**的替代品,並且嘗試樣品。根據你正在閱讀的任何內容,只要用一個ui文件構建一個示例Qt應用程序,並接受該呼叫。你會發現速度非常快。 – Mat 2011-04-14 12:17:59

+1

-1沒有閱讀文檔,既不是來源,也不會在詢問之前自己嘗試。 (如果它只是一次我沒有問題,但它必須是關於Qt初始化或其他Qt基礎知識的第10個問題。) – RedX 2011-04-14 12:32:04

回答

6

當調用「setupUi()」時,將創建用戶放置在窗體上的所有UI元素。從本質上講,UIC工具得到的,你放什麼UI元素在Qt Designer中的表格上的信息,併產生這樣的代碼給你,讓你不必這樣做手工:

QPushButton *button1 = new QPushButton(parent); 
button1->setText(tr("Start")); 
... 
QTableView *tableView1 = new QTableView(parent); 
... 
2

查看由qmake創建的ui_ [yourFormName] .h文件。它基本上設置了使用設計器定義的用戶界面控件。

2

您使用的是Qt Creator嗎?然後在setupUi()上按F2。看到那裏的所有代碼? 是不會發生,如果你不叫它。它由表單設計器自動生成。

@ user588855,請原諒,如果這聽起來很刺耳,但看看你最近的歷史,聽起來你正在嘗試學習沒有任何C++基礎的Qt。我會高度建議首先通過C++基礎入門,然後您將有類,繼承,宏等基礎知識,這將允許您自己解決大多數這些問題。

+0

我們甚至有[關於推薦的介紹性C++書籍的指南](http:/// StackOverflow.com/questions/388242/the-definitive-c-book-guide-and-list)這裏堆棧溢出! – 2011-04-15 06:37:48

2

Qt擁有美妙的能力用C++代碼創建所有的gui元素。如果你是一個受虐狂的程序員,你會以同樣的方式來做。但是,因爲我們不是所有的受虐狂,所以我們使用Qt表單設計器,並且從gui的東西中可以看到其中一個已發佈的Qt應用程序(如果我是正確的話,則爲uic)會爲您放置的所有控件創建C++代碼。當然,這個代碼需要被調用,所以這是setupUi ...只需檢查一個你的ui_something文件:)

+0

請問爲什麼我們需要在調用'setupUi()'時傳遞'this'指針? , 謝謝 – 2012-08-29 14:58:42