QWidget 包括 标题栏 和边框 和客户区
标题栏 就是上图中的蓝色的Window Title
边框就是 上图中的黑灰色的 外框 ,有一定的宽度
Client Area 就是 客户区 ,灰白色
pyQt5
import sys
from PyQt5.QtWidgets import QApplication, QWidget
app = QApplication(sys.argv)
window = QWidget()
window.resize(300, 200)
window.move(250, 150)
window.setWindowTitle('Hello PyQt5')
window.show()
sys.exit(app.exec_())
运行效果:
这个是一个 QWidget 窗口,窗口 包括客户区,边框和标题栏
对应的 代码:
from PyQt5.QtWidgets import QApplication ,QWidget ,QPushButton
import sys
app = QApplication(sys.argv)
widget = QWidget()
btn = QPushButton( widget )
btn.setText("Button")
#以QWidget左上角为(0, 0)点
btn.move(20, 20)
#不同操作系统可能对窗口最小宽度有规定,若设置宽度小于规定值,则会以规定值进行显示
widget.resize(300, 200)
#以屏幕左上角为(0, 0)点
widget.move(250, 200)
widget.setWindowTitle('PyQt坐标系统例子')
widget.show()
print("#1 QWidget")
print("widget.x()=%d" % widget.x() )
print("widget.y()=%d" % widget.y() )
print("widget.width()=%d" % widget.width() )
print("widget.height()=%d" % widget.height() )
print("#2 QWidget.geometry")
print("widget.geometry().x()=%d" % widget.geometry().x() )
print("widget.geometry().y()=%d" % widget.geometry().y() )
print("widget.geometry().width()=%d" % widget.geometry().width() )
print("widget.geometry().height()=%d" % widget.geometry().height() )
print("widget.size().width() =%d" % widget.size().width() )
print("widget.size().height() =%d" % widget.size().height() )
print("#3 QWidget.frameGeometry")
print("widget.frameGeometry().width()=%d" % widget.frameGeometry().width() )
print("widget.frameGeometry().height()=%d" % widget.frameGeometry().height() )
print("widget.pos().x()=%d" % widget.pos().x() )
print("widget.pos().y()=%d" % widget.pos().y() )
sys.exit(app.exec_())
log :
D:\PYTHON_ENV\py372_64_env\Scripts\python.exe F:/pyqt5/example/PyQt5快速开发与实战_Code/Chapter04/qt401_widgetGeometry.py
#1 QWidget
widget.x()=250
widget.y()=200
widget.width()=300
widget.height()=200
#2 QWidget.geometry
widget.geometry().x()=259
widget.geometry().y()=236
widget.geometry().width()=300
widget.geometry().height()=200
widget.size().width() =300
widget.size().height() =200
#3 QWidget.frameGeometry
widget.frameGeometry().width()=318
widget.frameGeometry().height()=245
widget.pos().x()=250
widget.pos().y()=200
PyQt5 快速开发与实战 pdf