PyQt5之QWidget
基础窗口控件 QWidget 类是所有用户界面对象的基类,所有的窗口都直接或间接继承自QWidget 类。
一、窗口坐标系统
- 以屏幕的左上角为原点,从左向右为x轴正向,从上向下为y轴正向,整个屏幕的坐标系统就用来定位顶层窗口的。
- 在窗口内部也有自己的坐标系统,仍然以左上角为原点,从左向右为x轴正向,从上向下为y轴正向,原点、x轴、y轴所围成的区域叫做客户区,在客户区的周围是标题栏和边框。
- QWidget 直接提供的成员函数:x()、y() 获得窗口左上角的坐标,width()、height() 获得客户区的宽度和高度。
- QWidget 的geometry() 提供的成员函数:x()、y() 获得客户区左上角的坐标,width()、height() 获得客户区的宽度和高度。
- QWidget 的frameGeometry() 提供的成员函数:x()、y() 获得客户区左上角的坐标,width()、height() 获得包含客户区、标题栏和边框在内整个窗口的宽度和高度。
二、常用的几何机构
1、QWidget 不包含边框的常用函数
方法 | 描述 |
---|---|
QWidget.resize(width,height) | 改变客户区的面积 |
QWidget.size() | 获得客户区的大小 |
QWidget.width() | 获得客户区的宽度 |
QWidget.height() | 获得客户区的高度 |
QWidget.setFixedSize(int width,int height) | 设置客户区的高度和宽度 |
QWidget.setGeometry(int x,int y,int width,int height) | 设置客户区的大小和位置 |
2、QWidget 包含边框的常用函数
方法 | 描述 |
---|---|
QWidget.frameGeometry | 获得窗口的大小和位置 |
QWidget.move(int x,int y) | 设置窗口的位置 |
QWidget.pos() | 获得窗口左上角的坐标 |
三、设置程序图标
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
class Icon(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(200,200,400,400)
self.setWindowTitle("QWidget")
self.setWindowIcon(QIcon('图标.ico'))
if __name__ == "__main__":
app = QApplication(sys.argv)
form = Icon()
form.show()
sys.exit(app.exec_())
四、显示气泡提示信息
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
class Win(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
QToolTip.setFont(QFont('SansSerif',20))
self.setToolTip('这是一个气泡提示')
self.setGeometry(200,200,400,400)
self.setWindowTitle("QWidget")
if __name__ == "__main__":
app = QApplication(sys.argv)
form = Win()
form.show()
sys.exit(app.exec_())