《Qt程式設計的藝術》——8.2.1 在Designer中使用View類
阿新 • • 發佈:2019-02-20
不幸的是,QDirModel有一個嚴重的限制:因為view不響應滑鼠操作,我們不得不自己建立這些功能。除此之外,每個view中,使用者都一次只能選擇一個元素。如果你想要允許同時選擇多個專案,你也必須自己去設定。我們可以通過設計我們自己的檔案對話方塊來修正這些缺點,就好像我們在圖8.6中看到的一樣。作為一項好的副產品,我們得以熟悉如何在Designer中使用view類。
我們的檔案選擇對話方塊基於Designer的對話方塊模板,帶有按鈕盒選擇可用分割槽的組合框,還有一個右側工具按鈕和一個stack widget(圖8.8中顯示了大部分需要的控制元件)。作為第一個控制元件(widget),我們在stack上放一個list view。
插入頁這個選項位於上下文選單(sacked widget的上下文菜單隻有你把滑鼠停放在兩個小三角的位置上點選右鍵才會開啟),如圖8.7所示。這樣,如果需要的話,通過插入頁,就有了控制元件來盛放更多的外掛。按照這種方式,我們可以通過新增另外的list view和tree view來擴充套件stack。
之後,我們想要使用按鈕——我們在屬性編輯器裡把它的物件名設定為switchButton,我們把它的文字屬性設定為“V”(代表View的縮寫;如果你想要點別的,你可以在圖示屬性裡面選擇一個合適的圖示)——它的功能是在不同的view之間來回切換。我們把組合框和這個工具按鈕都放到一個Frame裡面。要做到這個,我們必須先放置一個frame並調好位置,再把選擇框和工具按鈕拖進去。如果在鬆開左鍵之前,frame有顏色了,就代表它接收這個控制元件作為它的子控制元件。我們選中組合框和工具 按鈕,在上下文選單裡選擇HorizontalLayout。我也在給Ok按鈕改名:右鍵選擇更換文字,我們夠輸入新的文字標籤Open,以取代OK。
插入頁這個選項位於上下文選單(sacked widget的上下文菜單隻有你把滑鼠停放在兩個小三角的位置上點選右鍵才會開啟),如圖8.7所示。這樣,如果需要的話,通過插入頁,就有了控制元件來盛放更多的外掛。按照這種方式,我們可以通過新增另外的list view和tree view來擴充套件stack。
之後,我們想要使用按鈕——我們在屬性編輯器裡把它的物件名設定為switchButton,我們把它的文字屬性設定為“V”(代表View的縮寫;如果你想要點別的,你可以在圖示屬性裡面選擇一個合適的圖示)——它的功能是在不同的view之間來回切換。我們把組合框和這個工具按鈕都放到一個Frame裡面。要做到這個,我們必須先放置一個frame並調好位置,再把選擇框和工具按鈕拖進去。如果在鬆開左鍵之前,frame有顏色了,就代表它接收這個控制元件作為它的子控制元件。我們選中組合框和工具 按鈕,在上下文選單裡選擇HorizontalLayout。我也在給Ok按鈕改名:右鍵選擇更換文字,我們夠輸入新的文字標籤Open,以取代OK。