第三章 窗口部件
2019-9-10
基礎窗口部件QWidget
QWidget的構造函數有兩個參數:parent與Qt::Windowflags
對話框
使用快捷方式更改所有出現該變量的地方:
右擊->Refactor->Rename Symbol Under Cursor
或者Ctrl+Shift+R
進行窗口的切換中:
accept()函數是QDialog類中的一個槽,對于一個使用exec()函數實現的模態對話框,執行這個槽 就會隱藏這個模態對話框,并返回QDialog::Accepted值。關于窗口的切換這里,有需要注意的兩點地方:
- 如果說某個窗口一閃而過,很有可能是因為其所在函數執行完之后定義的變量均被回收了,這時我們需要使用new在堆空間進行定義,注意這里我們如果指定父親的話,我們并不需要對內存空間進行釋放。
- 這里還需要使用if進行判斷,否則出現的dlg無法進入主界面。
這里列舉常見的幾種標準對話框:
我們可以直接利用類的靜態函數來顯示對話框,好處是不用創建對象;
我們也可以先創建對象,然后進行各項更加靈活的設置。
-
對話框(QColorDialog)
-
文件對話框(QFileDialog)
-
字體對話框(QFontDialog)
-
輸入對話框(QInputDialog)
-
消息對話框(QMessageBox)
-
進度對話框(QProgressDialog)
-
錯誤信息對話框(QErrorMessage)這里默認有一個Show this message again復選框,我們需要記住是否選擇了它,所以這里要將該類的對象設置為成員變量,而不能直接在槽中創建對話框。這里需要注意的是,只有是成員變量時才可以保存狀態,在構造函數中定義一個變量是會出錯的,它的作用域僅僅局限于構造函數之中。
-
向導對話框(QWizard)可以定義不同的createpage函數,這樣方便對每一個頁面的樣式進行設計。
1)QFrame類族
- QLabel
wordWrap屬性可以實現文本的自動換行
QFontMetrics類可以可以對文本進行自動省略
scaledContents屬性可以實現縮放標簽里的內容 - QLCDNumber
- QStackWidget:需要利用其它部件對它進行控制
- QToolBox:層疊窗口部件
2)按鈕部件
- QPushButton checkable屬性使得它可以擁有選中和未選中兩種狀態(toggled是否被按下)
- QCheckBox、QRadioButton、QGroupBox
- QLineEdit:顯示模式、輸入掩碼(returnpressed按下回車鍵)、輸入驗證、自動補全
3)QAbstractSpinBox
- QDateTimeEdit:日期時間設定
- QSpinBox:整數設定
- QDoubleSpinBox:浮點數設定
可以使用value函數來獲得值
4)QAbstractSlider
新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
- 上一篇: Java学习:多线程(2)
- 下一篇: java调优