亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

python GUI庫圖形界面開發(fā)之PyQt5窗口控件QWidget詳細(xì)使用方法

瀏覽:74日期:2022-08-06 08:09:01
QWidget基本介紹

基礎(chǔ)窗口控件QWidget類是所有用戶界面對象的基類,所有的窗口或者控件都直接或者間接的繼承自QWidget類。

窗口坐標(biāo)系統(tǒng)

PyQt使用統(tǒng)一的坐標(biāo)系統(tǒng)來定位窗口控件的位置和大小,具體如下

python GUI庫圖形界面開發(fā)之PyQt5窗口控件QWidget詳細(xì)使用方法

以屏幕左上角為原點(diǎn),也就是(0, 0)點(diǎn),從左向右為x軸正方向,從上向下為y軸正方向,整個(gè)屏幕的坐標(biāo)系統(tǒng)用來定位頂層窗口。

在窗口內(nèi)部也有自己的坐標(biāo)系統(tǒng),該坐標(biāo)系統(tǒng)以客戶區(qū)的左上角為原點(diǎn),從左向右為x軸正方向,從上到下為y軸正方向,在客戶區(qū)周圍有標(biāo)題欄和邊框。

python GUI庫圖形界面開發(fā)之PyQt5窗口控件QWidget詳細(xì)使用方法

從上圖中,可以將這些成員函數(shù)分成三類:

QWidget直接提供的成員函數(shù),x(), y()獲得整個(gè)窗口左上角的坐標(biāo),width()和height()返回客戶區(qū)的寬度和高度。 QWidget的geometry()提供的成員函數(shù),x(),y()返回的是客戶區(qū)左上角坐標(biāo),width(),height()返回客戶區(qū)寬度和高度。 QWidget的frameGeometry()提供的成員函數(shù),x(),y()返回的是整個(gè)窗口左上角的坐標(biāo),-width(),height()也是整個(gè)對話框的寬度和高度,包括標(biāo)題欄和邊框。

從上圖可以看出來,QWidget有兩種常見的幾何結(jié)構(gòu)

不包含外面各種邊框的幾何結(jié)構(gòu)(客戶區(qū))。

包含各種邊框的幾何結(jié)構(gòu)。

不包含邊框常用函數(shù)

改變客戶區(qū)面積

QWidget.resize(width, height)

獲取客戶區(qū)大小

QWidget.size()

獲取客戶區(qū)的寬度和高度

QWidget.width()

QWidget.height()

設(shè)置客戶區(qū)的寬度和高度(在某些維度上值不可改變)

QWidget.setFixedWidth(int width)

QWidget.setFixedHeight(int height)

QWidget.setFixedSize(int width, int height)

設(shè)置窗口的位置(值可以改變)

QWidget.setGeometry(int x, int y, int width, int height)

包含邊框常用函數(shù)

獲取窗口的大小和位置

QWidget.frameGeometry()

設(shè)置窗口的位置

QWidget.move(int x, int y)

獲取窗口左上角坐標(biāo)

QWidget.pos()

屏幕坐標(biāo)系統(tǒng)實(shí)例

from PyQt5.QtWidgets import QApplication,QMainWindow,QWidget,QPushButtonimport sysapp=QApplication(sys.argv)#窗口widget=QWidget()#按鈕繼承在窗口中,并實(shí)例化btn=QPushButton(widget)#按鈕命名btn.setText(’button’)#以QWdiget左上角為(0,0)點(diǎn),按鈕移動到坐標(biāo)處btn.move(20,20)#不同的操作系統(tǒng)可能對窗口的最小寬度有規(guī)定,若設(shè)置寬度小于規(guī)定值,則會以規(guī)定值進(jìn)行顯示widget.resize(300,200)#以屏幕左上角為(0,0)的點(diǎn),窗口移動到指定坐標(biāo)處widget.move(250,200)widget.setWindowTitle(’pyqt坐標(biāo)系統(tǒng)例子’)widget.show()#輸出窗口的rect(x,y,width,height)print(’QWidget:’)#x,y獲取窗口左上角的坐標(biāo)print(’w.x()=%d’ %widget.x())print(’w.y()=%d’ %widget.y())#width,height獲取客戶區(qū)的寬度與高度print(’w.width()=%d’ %widget.width())print(’w.height()=%d’ %widget.height())#客戶區(qū)的大小print(’客戶區(qū)的大小:%d’ %widget.size())print(’QWidget.geometry’)#x,y獲取客戶區(qū)的左上角坐標(biāo)(包含窗口的標(biāo)題與邊框部分)print(’widget.geometry().x()=%d’ %widget.geometry().x())print(’widget.geometry().y()=%d’ %widget.geometry().y())#width,height獲取客戶區(qū)的寬度與高度print(’widget.geometry().width()=%d’ %widget.geometry().width())print(’widget.geometry().height()=%d’ %widget.geometry().height())sys.exit(app.exec_())

效果如下圖:輸出客戶區(qū)的相關(guān)屬性

python GUI庫圖形界面開發(fā)之PyQt5窗口控件QWidget詳細(xì)使用方法

設(shè)置程序圖標(biāo)實(shí)例

import sysfrom PyQt5.QtGui import QIconfrom PyQt5.QtWidgets import QWidget,QApplication#創(chuàng)造一個(gè)名為Icon的窗口類,繼承自Qwidgetclass Icon(QWidget): def __init__(self,parent=None): super(Icon, self).__init__(parent) self.initUI() #初始化窗口 def initUI(self): #設(shè)置窗口在屏幕中的位置與窗口的大小 self.setGeometry(300,300,250,150) self.setWindowTitle(’程序圖標(biāo)’) #設(shè)置窗口圖標(biāo),需要提供圖標(biāo)的路徑 self.setWindowIcon(QIcon(’E:pyqt5快速開發(fā)與實(shí)戰(zhàn)第四章imagescartoon1.ico’))if __name__ == ’__main__’: app=QApplication(sys.argv) icon=Icon() icon.show() sys.exit(app.exec_())

效果如下:實(shí)現(xiàn)了程序左上角圖標(biāo)的加載

python GUI庫圖形界面開發(fā)之PyQt5窗口控件QWidget詳細(xì)使用方法

顯示氣泡提示信息實(shí)例

import sysfrom PyQt5.QtGui import QFontfrom PyQt5.QtWidgets import QWidget,QApplication,QToolTipclass WinForm(QWidget): def __init__(self,parent=None): super(WinForm, self).__init__(parent) self.initUI() def initUI(self): #設(shè)置氣泡提示信息的字體和大小 QToolTip.setFont(QFont(’SansSerif’,10)) #設(shè)置氣泡提示 self.setToolTip(’這是一個(gè)</b>氣泡顯示</b>’) self.setGeometry(200,300,400,400) self.setWindowTitle(’氣泡提示demo’)if __name__ == ’__main__’: app=QApplication(sys.argv) win=WinForm() win.show() sys.exit(app.exec_())

本文詳細(xì)介紹了PyQt5窗口控件QWidget詳細(xì)使用方法,要了解更多關(guān)于這方面的知識請查看下面的相關(guān)鏈接

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 亚洲成在人线av | 永久在线观看视频 | 性生活国产 | 亚洲第一页在线播放 | 亚洲20p| 亚洲国产精品一区二区不卡 | 久国产精品视频 | 999色综合| 拍拍视频免费观看网站在线观看 | 日本在线日本中文字幕日本在线视频播放 | 天天色综合2 | 久久国产在线视频 | 国产精品成人一区二区1 | 精品欧美成人高清视频在线观看 | sese日本 | 久久不卡 | 欧美三级大片在线观看 | 在线视频观看一区 | 五月婷婷开心中文字幕 | 日韩中文字幕推理片 | 国产未成女年一区二区 | 99热久久这里只精品国产www | 免费人成网站在线播放 | 九九精品视频一区在线 | 亚洲精品美女一区二区三区乱码 | 日韩1区2区3区 | 国语对白91 | 欧美操片在线观看 | 国产免费不卡视频 | 国产成人99久久亚洲综合精品 | 欧美日韩亚洲综合 | 成人无遮挡毛片免费看 | 久久视频精品 | 久久精品精品 | 国产毛片在线视频 | 日韩黄色网址 | 国产精品久久久久久福利69堂 | 欧美精品免费线视频观看视频 | 免费又色又爽1000禁片 | 日本午夜一级特黄毛片 | 欧美桃色 |