PySide #7: 表單輸入物件, ComboBox, RaidoButton, CheckButton, SpinBox

建立一個表單吧!表單常用物件實作

DekBan
Bucketing
6 min readJul 2, 2020

--

Survey Design, Form Design

靜態顯示物件是UI設計最常用的東西,而使用者輸入物件更是人機介面不可或缺的東西。而我們最常見的東西就是表單了!本章節會介紹表單中常使用的物件如:RadioButton, CheckButton, SpinBox等等,同時再最後我們會至做出一個大家最常收到的表單——婚禮參加調查表XDD。

Preceding Process

在開始之前,我們要用上一章節的內容建立一個大致的版型,然後再加入新的元素以完成我們的婚禮調查表單。

UI Design

Form UI Design

Ok, 接下來我們就可以開始今天的教學了!

ComboBox

下拉選單,這大概是表單中使用率99.9%的物件了,使用起來也非常簡單,宣告後使用 addItem()新增選項就完成了。不過,有一點要說明,那就是combobox的選項有3個主要的屬性:名稱,index,還有data,而其中data可以是任意型態方常方便。

Implement

ComboBox

RadioButton / CheckBox

接下來我們要新增常用的勾選項目的物件,RadioButton跟CheckBox再使用上非常的相似,都是用 setChecked(bool)方法來設定是否背選取,同時用 isChecked()方法察看狀態。

RadioButton使用上最常遇到的就是不能複選的功能了,要實作這樣的功能只需要如上方sample code一樣,使用QGroupButton將選項都包在同一個Group並設定 setExclusive(True)就可以囉!

CheckBox / RadioButton

SpinBox

極度簡單,會需要處理的就是限制上下限的數值了,使用 setRange(min, max)來設定。

Output

看看我們的成果吧!

Wedding survey form

Source Code

完整代碼請看:Form Input Widget

結論

有了這些實用的物件,在製作讓使用者輸入的介面時是否更加輕鬆簡單了呢?其實,輸入形物件在QT的世界中是最簡單的,之後我們會開始介紹顯示類的物件,還有互動類的物件,那些就會牽扯到許多的Signal / Slot應用會更加複,不過別擔心我們一步步來。

我是夜海中的宅男DekBan,我們下次見,see ya next night.

Next Step: PySide #8: 清單、表格、樹。ListWidget, TableWidget, TreeWidget

--

--

DekBan
Bucketing

เด็กบ้าน | 🌃夜裡溜搭的宅男,漂泊於月色鋪成的海