本例學習QDialog。預期目的:1. 組織多個窗體。2. 學習Dialog的相關屬性。3. 學習一些widget。
1. 本例中,定義了3個不同的PageWidget,都是從QWidget中派生。用戶在左側list更換后,切換到不同的配置頁。
2. QStackedWidget提供一組widget,但一次只能有一個顯示。將這個widget添加到layout中。
3. 在layout設置中,一般為MainWindow設置一個layout,然后向這個layout中添加不同的widget,layout。
4. 一個窗體是Window或者Dialog,向這個窗體中添加其他的Widget,這些Widget可以使系統提供的,也可以是用戶自己定義的。
5. 本例中使用兩次QListWidget。一次為圖文,一次為文字。setViewMode(),設置ListWidget為圖標模式。通過setIcon(),設置Item的圖標。configButton->setIcon(QIcon(":/images/config.png"));
6. 定義QListWidgetItem的父類為QListWidget,設置QListWidget的項。或者使用addWidget()之類的方法。
7. 左側select切換時,if(!current) current = previous;防止current為0的意外情況。
8. 自定義了一個slot,用來處理contentList被選中項切換時,相應的處理方法。也就是設置stackedWidget的被選中項。通過contentlist的row()確定index,然后設置第index項為當前item。
posted on 2009-03-08 22:20
ronliu 閱讀(776)
評論(0) 編輯 收藏 引用