qpython3可视图形界面_python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法...
QWidget基本介紹
基礎窗口控件QWidget類是所有用戶界面對象的基類,所有的窗口或者控件都直接或者間接的繼承自QWidget類。
窗口坐標系統(tǒng)
PyQt使用統(tǒng)一的坐標系統(tǒng)來定位窗口控件的位置和大小,具體如下
以屏幕左上角為原點,也就是(0, 0)點,從左向右為x軸正方向,從上向下為y軸正方向,整個屏幕的坐標系統(tǒng)用來定位頂層窗口。
在窗口內(nèi)部也有自己的坐標系統(tǒng),該坐標系統(tǒng)以客戶區(qū)的左上角為原點,從左向右為x軸正方向,從上到下為y軸正方向,在客戶區(qū)周圍有標題欄和邊框。
從上圖中,可以將這些成員函數(shù)分成三類:
QWidget直接提供的成員函數(shù),x(), y()獲得整個窗口左上角的坐標,width()和height()返回客戶區(qū)的寬度和高度。
QWidget的geometry()提供的成員函數(shù),x(),y()返回的是客戶區(qū)左上角坐標,width(),height()返回客戶區(qū)寬度和高度。
QWidget的frameGeometry()提供的成員函數(shù),x(),y()返回的是整個窗口左上角的坐標,-width(),height()也是整個對話框的寬度和高度,包括標題欄和邊框。
從上圖可以看出來,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()
設置客戶區(qū)的寬度和高度(在某些維度上值不可改變)
QWidget.setFixedWidth(int width)
QWidget.setFixedHeight(int height)
QWidget.setFixedSize(int width, int height)
設置窗口的位置(值可以改變)
QWidget.setGeometry(int x, int y, int width, int height)
包含邊框常用函數(shù)
獲取窗口的大小和位置
QWidget.frameGeometry()
設置窗口的位置
QWidget.move(int x, int y)
獲取窗口左上角坐標
QWidget.pos()
屏幕坐標系統(tǒng)實例
from PyQt5.QtWidgets import QApplication,QMainWindow,QWidget,QPushButton
import sys
app=QApplication(sys.argv)
#窗口
widget=QWidget()
#按鈕繼承在窗口中,并實例化
btn=QPushButton(widget)
#按鈕命名
btn.setText('button')
#以QWdiget左上角為(0,0)點,按鈕移動到坐標處
btn.move(20,20)
#不同的操作系統(tǒng)可能對窗口的最小寬度有規(guī)定,若設置寬度小于規(guī)定值,則會以規(guī)定值進行顯示
widget.resize(300,200)
#以屏幕左上角為(0,0)的點,窗口移動到指定坐標處
widget.move(250,200)
widget.setWindowTitle('pyqt坐標系統(tǒng)例子')
widget.show()
#輸出窗口的rect(x,y,width,height)
print('QWidget:')
#x,y獲取窗口左上角的坐標
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ū)的左上角坐標(包含窗口的標題與邊框部分)
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ū)的相關屬性
設置程序圖標實例
import sys
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QWidget,QApplication
#創(chuàng)造一個名為Icon的窗口類,繼承自Qwidget
class Icon(QWidget):
def __init__(self,parent=None):
super(Icon, self).__init__(parent)
self.initUI()
#初始化窗口
def initUI(self):
#設置窗口在屏幕中的位置與窗口的大小
self.setGeometry(300,300,250,150)
self.setWindowTitle('程序圖標')
#設置窗口圖標,需要提供圖標的路徑
self.setWindowIcon(QIcon('E:\pyqt5快速開發(fā)與實戰(zhàn)\第四章\images\cartoon1.ico'))
if __name__ == '__main__':
app=QApplication(sys.argv)
icon=Icon()
icon.show()
sys.exit(app.exec_())
效果如下:實現(xiàn)了程序左上角圖標的加載
顯示氣泡提示信息實例
import sys
from PyQt5.QtGui import QFont
from PyQt5.QtWidgets import QWidget,QApplication,QToolTip
class WinForm(QWidget):
def __init__(self,parent=None):
super(WinForm, self).__init__(parent)
self.initUI()
def initUI(self):
#設置氣泡提示信息的字體和大小
QToolTip.setFont(QFont('SansSerif',10))
#設置氣泡提示
self.setToolTip('這是一個氣泡顯示')
self.setGeometry(200,300,400,400)
self.setWindowTitle('氣泡提示demo')
if __name__ == '__main__':
app=QApplication(sys.argv)
win=WinForm()
win.show()
sys.exit(app.exec_())
本文詳細介紹了PyQt5窗口控件QWidget詳細使用方法,要了解更多關于這方面的知識請查看下面的相關鏈接
本文標題: python GUI庫圖形界面開發(fā)之PyQt5窗口控件QWidget詳細使用方法
本文地址: http://www.cppcns.com/jiaoben/python/301564.html
總結(jié)
以上是生活随笔為你收集整理的qpython3可视图形界面_python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浮点数用大小端存储吗_干细胞存储有什么用
- 下一篇: python3 安装opencv_Pag