最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

QMainWindow

2022-01-07 16:45 作者:海鷗之道  | 我要投稿

QMain Window主窗口為用戶提供一個應(yīng)用程序框架,它有自己的布局,可以在布局中添加控件。在主窗口中可以添加控件,比如將工具欄、菜單欄和狀態(tài)欄等添加到布局管理器中。

1、窗口類型的介紹:

QMainWindow、QWidget和 QDialog三個類都是用來創(chuàng)建窗口的,可以直接使用,也可以繼承后再使用。

Main Window窗口可以包含菜單欄、工具欄、狀態(tài)欄、標(biāo)題欄等,是最常見的窗口形式,也可以說是GUI程序的主窗口。

QDialog是對話框窗口的基類。對話框主要用來執(zhí)行短期任務(wù),或者與用戶進(jìn)行互動,它可以是模態(tài)的,也可以是非模態(tài)的。QDialog窗口沒有菜單欄、工具欄、狀態(tài)欄等。

如果是主窗口,就使用QMainWindow類;如果是對話框,就使用QDialog類;如果不確定,或者有可能作為頂層窗口,也有可能嵌入到其他窗口中,那么就使用owidget類。

本節(jié)只介紹QMainWindow類,關(guān)于QWidget類與QDialog類的更詳細(xì)用法會在后續(xù)章節(jié)中進(jìn)行介紹,讀者只需要對它們有簡單的了解就行。這些內(nèi)容都非常簡單,并不需要進(jìn)行太深入的研究。

2、創(chuàng)建主窗口

如果一個窗口包含一個或多個窗口,那么這個窗口就是父窗口,被包含的窗口則是子窗口。沒有父窗口的窗口是頂層窗口,QMainWindow就是一個頂層窗口,它可以包含很多界面元素,如菜單欄、工具欄、狀態(tài)欄、子窗口等。

在PyQt中,在主窗口(QMainWindow)中會有一個控件(QWidget)占位符來占著中心窗口,可以使用setCentralWidget()來設(shè)置中心窗口。

QMainWindow繼承自QWidget類,擁有它的所有派生方法和屬性。

QMain Window類中比較重要的方法如下所示。

注意:QMain Window不能設(shè)置布局(使用setLayout()方法),因為它有自己的布局。

實例演示1:創(chuàng)建主窗口

運行程序,顯示效果如下:

代碼分析:

使用QMainWindow類的statusBar()方法創(chuàng)建狀態(tài)欄,然后使用showMessage()方法將提示信息顯示在狀態(tài)欄中,提示信息的顯示時間是5秒,5秒后狀態(tài)欄提示信息消失。

在自定義的窗口類 MainWindow中,繼承了主窗口QMainWindow類所有的屬性和方法,然后使用父類QMainWindow 的構(gòu)造函數(shù)super()初始化窗口,再設(shè)置窗口標(biāo)題,最后通過消息循環(huán)顯示窗口,狀態(tài)欄可以直接由 statusBar()產(chǎn)生,由showMessage()來顯示信息。

實例演示2:將主窗口放在屏幕中間

QMainWindow利用QDesktopWidget類來實現(xiàn)主窗口居中顯示。在主窗口初始化后,將它放在屏幕中間。其完整代碼如下:

運行代碼,顯示效果如下:

代碼分析:

該行語句用來設(shè)置QWidget 窗口的大小,寬度為370像素,高度為250像素。

該行語句用來計算顯示屏幕的大小:(screen.width()*screen.height()),其中QDesktop Widget是描述顯示屏幕的類,通過QDesktopWidget().screenGeometry()來獲得屏幕的大小。

該行語句用來獲取QWidget窗口的大小:(size.width()*size.heiget()).

該行語句將窗口移動到屏幕中間。

實例演示3:關(guān)閉主窗口

演示關(guān)閉主窗口,其完整代碼如下:

運行程序,顯示效果如下:

代碼分析:

當(dāng)單擊“關(guān)閉主窗口”按鈕后,將關(guān)閉顯示的窗口,通過以下代碼將按鈕的clicked信號與onButtonClick槽函數(shù)關(guān)聯(lián)起來。

在槽函數(shù)onButtonClick()里獲得QApplication類的對象,調(diào)用它的quit()函數(shù)來關(guān)閉窗口,在槽函數(shù)里還可以獲得發(fā)送信號的對象,在本例中發(fā)送信號對象是名字為“關(guān)閉主窗口”的按鈕控件,然后就可以通過按鈕的text()函數(shù)獲得按鈕的顯示名稱。


QMainWindow的評論 (共 條)

分享到微博請遵守國家法律
屏东县| 宜良县| 临洮县| 白沙| 沙田区| 墨玉县| 马尔康县| 北海市| 施秉县| 海南省| 龙胜| 大化| 吉木萨尔县| 甘孜县| 即墨市| 若尔盖县| 筠连县| 连城县| 中牟县| 阿坝| 蓬溪县| 辽源市| 锡林浩特市| 澄江县| 梅州市| 西昌市| 彰化市| 五原县| 都兰县| 鄂州市| 南雄市| 绵阳市| 容城县| 博湖县| 永顺县| 新和县| 玛曲县| 南昌市| 乌鲁木齐县| 贺州市| 新河县|