1.获取
2. 设置
在控件显示( .show())之前,系统不确定是否会包装窗口框架。所以,在控件显示( .show())之前,用setGeometry()设置用户区域的坐标时,就会把窗口框架的坐标设置成(x_noFrame, y_noFrame)。
注意:setGeometry() 在控件显示( .show())后设置更好。
案例1
window = QWidget()
window.move(300, 300)
window.resize(500, 500)
案例2
import sys
from PyQt5.Qt import *
app = QApplication(sys.argv)
window = QWidget()
window.show()
window.resize(500, 500)
window.move(300, 300)
# 总的控件个数
widget_count = 100
# 一行有多少列
column_count = 3
# 计算一个控件的宽度
widget_width = window.width() / column_count
# 总共有多少行 (编号 // 一行多少列 + 1)
row_count = (widget_count - 1) // column_count + 1
widget_height = window.height() / row_count
for i in range(0, widget_count):
w = QWidget(window)
w.resize(widget_width, widget_height)
widget_x = i % column_count * widget_width
widget_y = i // column_count * widget_height
w.move(widget_x, widget_y)
w.setStyleSheet("background-color: red;border: 1px solid yellow;")
w.show()
sys.exit(app.exec_())