首頁>技術>

工具欄

工具欄是最常見的使用者介面元素之一。工具欄是用於在應用程式中執行常見任務的圖示和文字欄。

讓我們從嚮應用程式新增工具欄開始。

在Qt中,從QToolBar類建立工具欄。首先,建立該類的例項,然後呼叫.addToolbar。傳入字串作為第一個引數來設定工具欄的名稱,該名稱將用於在UI中標識工具欄。

我們應該使工具欄更有趣一些。我們可以只新增一個QButton部件,但在Qt中還有一個更好的方法可以讓你獲得一些很酷的特性——那就是通過QAction。QAction是一個類,它提供了一種描述抽象使用者介面的方法。在英語中,這意味著您可以在一個物件中定義多個介面元素,通過與該元素互動的效果來統一這些元素。例如,在工具欄和選單中都有一些函式表示,比如Edit——>Cut,它既出現在編輯選單中,也出現在工具欄上,就像剪刀一樣,也可以通過快捷鍵Ctrl-X (Mac上的Cmd-X)。

如果沒有QAction,就必須在多個地方定義它。但是使用QAction,您可以定義單個QAction,定義被觸發的動作,然後將這個動作新增到選單和工具欄中。每個QAction都有您可以連線的名稱、狀態訊息、圖示和訊號(以及更多)。

在下面的程式碼中,您可以看到添加了第一個QAction。

首先,我們建立接收QAction訊號的函式,這樣我們就可以看到它是否在工作。接下來我們定義QAction本身。在建立例項時,我們可以傳遞動作的標籤和/或圖示。您還必須傳遞任何QObject以作為操作的父物件——這裡我們將self作為對主視窗的引用傳遞。

接下來,我們可以選擇設定一個狀態提示——一旦我們設定了一個狀態提示,這個文字將顯示在狀態列上。最後,我們將.triggered訊號連線到定製函式。這個訊號將在QAction被觸發(或啟用)時觸發。

接下來我們可以新增一個狀態列。

我們通過呼叫QStatusBar來建立一個狀態列物件,以獲得一個新的狀態列物件,然後將其傳遞給。setstatusbar。因為我們不需要改變狀態列的設定,我們也可以在建立時傳入它:

接下來,我們將把QAction切換為toggleable——點選將選中它,再次點選將選中取消。為此,我們在QAction物件上呼叫setCheckable(True)。

單擊該按鈕可以看到它從選中狀態切換到未選中狀態。注意,我們現在建立的自定義槽函式會交替輸出'True'和'False'。

現在介面功能基本完善,但是很醜;讓我們美化一下:

精美的16x16圖示

下載地址:https://www.xugj520.cn/usr/uploads/2020/08/2366200963.zip

251

Qt

Python

最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • Embedding在騰訊應用寶的推薦實踐