概述
QWidget基本介绍
基础窗口控件QWidget类是所有用户界面对象的基类,所有的窗口或者控件都直接或者间接的继承自QWidget类。
窗口坐标系统
PyQt使用统一的坐标系统来定位窗口控件的位置和大小,具体如下
以屏幕左上角为原点,也就是(0, 0)点,从左向右为x轴正方向,从上向下为y轴正方向,整个屏幕的坐标系统用来定位顶层窗口。
在窗口内部也有自己的坐标系统,该坐标系统以客户区的左上角为原点,从左向右为x轴正方向,从上到下为y轴正方向,在客户区周围有标题栏和边框。
从上图中,可以将这些成员函数分成三类:
- QWidget直接提供的成员函数,x(), y()获得整个窗口左上角的坐标,width()和height()返回客户区的宽度和高度。
- QWidget的geometry()提供的成员函数,x(),y()返回的是客户区左上角坐标,width(),height()返回客户区宽度和高度。
- QWidget的frameGeometry()提供的成员函数,x(),y()返回的是整个窗口左上角的坐标,-width(),height()也是整个对话框的宽度和高度,包括标题栏和边框。
从上图可以看出来,QWidget有两种常见的几何结构
不包含外面各种边框的几何结构(客户区)。
包含各种边框的几何结构。
不包含边框常用函数
- 改变客户区面积
QWidget.resize(width, height) - 获取客户区大小
QWidget.size() - 获取客户区的宽度和高度
QWidget.width()
QWidget.height() - 设置客户区的宽度和高度(在某些维度上值不可改变)
QWidget.setFixedWidth(int width)
QWidget.setFixedHeight(int height)
QWidget.setFixedSize(int width, int height) - 设置窗口的位置(值可以改变)
QWidget.setGeometry(int x, int y, int width, int height)
包含边框常用函数
- 获取窗口的大小和位置
QWidget.frameGeometry() - 设置窗口的位置
QWidget.move(int x, int y) - 获取窗口左上角坐标
QWidget.pos()
坐标系统测试
# _*_ coding:utf-8 _*_
import sys
from PyQt5.QtWidgets import (QApplication, QWidget, QPushButton)
class MyDialog(QWidget):
def __init__(self):
super(MyDialog, self).__init__()
self.init_ui()
def init_ui(self):
# (50, 50)相对屏幕最左上角
# (300, 200)客户区宽度 高度
self.move(50, 50)
self.resize(300, 200)
self.setWindowTitle('测试窗口坐标系统')
self.btn = QPushButton('测试按钮', self)
# 相对于客户区的原点
self.btn.move(20, 20)
self.show()
def show_coordinate(self):
print("显示整个窗口的参数")
print("QWidget.x() = %d" % self.x())
print("QWidget.y() = %d" % self.y())
print("QWidget.pos()" + str(self.pos()))
print("width=%d" % self.frameGeometry().width())
print("height=%dn" % self.frameGeometry().height())
print("显示工作区参数")
print("x=%d" % self.geometry().x())
print("y=%d" % self.geometry().y())
print("width=%d" % self.width())
print("height=%d" % self.height())
print("geometry width=%d" % self.geometry().width())
print("geometry height=%dn" % self.geometry().height())
print("显示按钮参数")
print("x=%d" % self.btn.x())
print("y=%d" % self.btn.y())
if __name__ == "__main__":
app = QApplication(sys.argv[1:])
win = MyDialog()
win.show_coordinate()
sys.exit(app.exec_())
显示整个窗口的参数 QWidget.x() = 50 QWidget.y() = 50
QWidget.pos()PyQt5.QtCore.QPoint(50, 50) width=318 height=245显示工作区参数 x=59 y=86 width=300 height=200 geometry width=300 geometry
height=200显示按钮参数 x=20 y=20
最后
以上就是傲娇老师为你收集整理的PyQt5基本窗口控件二(QWidget)的全部内容,希望文章能够帮你解决PyQt5基本窗口控件二(QWidget)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复