1、控件只能在最小和最大之间进行调整,不能超过范围。
①直接宽高同时设置 window.setMinimumSize(200, 200); window.setMaximumSize(500, 500)
app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("最小最大窗口")
window.setMinimumSize(200, 200)
window.setMaximumSize(500, 500)
window.show()
②分别设置宽和高,设置完成之后在修改,会按最大值作用
# 单独设置宽和高
window.setMaximumWidth(600)
window.setMinimumWidth(200)
# 设置之后resize不起作用,会按最大值起作用
window.resize(1000, 1000)
2、QWidget的内容边距,内容区域:指的是标签内部展示的文本内容,整个标签的尺寸大小。
内容区域本身与控件是一样大的,当你设置内容边距,内容区域自然就会变小,又要在内容区域中展示内容,则内容位置也会产生相应改变。内容边距的设置,所以只有文本移动。
import sys
from PyQt5.Qt import *
if __name__ == "__main__":
app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("内容边距的设定")
window.resize(500, 500)
label = QLabel(window)
label.setText("界面学习")
label.resize(300, 300)
label.setStyleSheet("background-color:cyan")
# 输出内容的矩形
print(label.contentsRect())
# 分别对应左上右下的间距,设置内容边距
label.setContentsMargins(100, 200, 0, 0)
print(label.getContentsMargins())
window.show()
sys.exit(app.exec_())