普陀区网站建设,wordpress 喜欢 按钮,seo优化啥意思,如何制作视频短片文章目录 QWidget简介QWidget大小位置操作案例一案例二 QWidget尺寸限定操作案例 内容边距案例 QWidget简介
在PyQt中#xff0c;QWidget是一个基本的用户界面类#xff0c;用于创建可见的窗口组件。QWidget可以包含多种类型的子组件#xff0c;如QPushButton、QLabel、QLi… 文章目录 QWidget简介QWidget大小位置操作案例一案例二 QWidget尺寸限定操作案例 内容边距案例 QWidget简介
在PyQt中QWidget是一个基本的用户界面类用于创建可见的窗口组件。QWidget可以包含多种类型的子组件如QPushButton、QLabel、QLineEdit等。QWidget提供了许多方法来设置组件样式、布局、大小、位置等。
在PyQt中使用QMainWindow、QDialog、QMessageBox等衍生自QWidget的类来创建不同类型的窗口。
QWidget大小位置操作
在PyQt中QWidget提供了一些方法和属性来处理它的大小和位置。
下面是一些设置大小位置信息常用的方法和属性的介绍 move(x, y)方法 作用将QWidget移动到指定的位置。参数xint为新的x坐标yint为新的y坐标。 resize(width, height)方法 作用改变QWidget的大小。参数widthint为新的宽度heightint为新的高度。 setGeometry(x, y, width, height)方法 作用设置QWidget的位置和大小。参数xint和yint为新的坐标widthint和heightint为新的宽度和高度。 adjustSize()方法 作用根据内容调整QWidget的大小。参数无。 setFixedSize(width, height)方法 作用设置QWidget的固定大小。参数widthint为固定的宽度heightint为固定的高度。
下面是一些获取大小位置信息常用的方法和属性的介绍 x()和y()方法 作用获取QWidget的x和y坐标。返回值分别返回QWidget的x和y坐标。 pos()方法 作用获取QWidget的位置。返回值返回一个QPoint对象包含了QWidget的x和y坐标。 width()和height()方法 作用获取QWidget的宽度和高度。返回值分别返回QWidget的宽度和高度。 size()方法 作用获取QWidget的大小。返回值返回一个QSize对象包含了QWidget的宽度和高度。 geometry()方法 作用获取QWidget的位置和大小信息。返回值返回一个QRect对象包含了xy坐标和QWidget的宽度和高度信息。 rect()属性 作用获取QWidget的矩形区域。类型QRect对象。 frameSize()方法 作用获取QWidget的边框大小包括窗口装饰部分所占用的空间。返回值返回一个QSize对象包含了QWidget的边框的宽度和高度。 frameGeometry()方法 作用获取QWidget相对于窗口的位置和大小信息包括窗口装饰部分所占用的空间。返回值返回一个QRect对象包含了xy坐标和QWidget的宽度和高度信息。
通过这些方法和属性你可以方便地获取和设置QWidget的位置和大小信息对界面进行灵活的布局和调整。 案例一
自适应调整标签的大小以使用新的文本内容。
from PyQt5.QtWidgets import *
import sysdef add_PyQt5():next_text label.text() PyQtlabel.setText(next_text)label.adjustSize() # 自适应if __name__ __main__:app QApplication(sys.argv)window QWidget()window.resize(200, 200)label QLabel(window)label.setText(PyQt5)label.setStyleSheet(background-color: cyan;)btn QPushButton(window)btn.setText(增加PyQt5)btn.move(50, 50)btn.clicked.connect(add_PyQt5)window.show()sys.exit(app.exec_())运行结果 案例二
在窗口内创建指定个数的子控件。
要求按照九宫格的布局进行摆放一行三列。
from PyQt5.QtWidgets import *
import sysclass Create_Widget(QWidget):def __init__(self, parentNone):super().__init__(parent)# 设置主窗口的名称和大小self.setWindowTitle(案例二)self.resize(300, 300)# 创建控件def createWidget(self, num, column_count):# 计算一个控件的宽度主窗口的宽度 / 一行多少列widget_width self.width() / column_count# 总共有多少行编号 // 一行多少列 1row_count (num-1) // column_count 1widget_height self.height() / row_countfor i in range(num):w QWidget(self)w.resize(widget_width, widget_height)widget_x i % column_count * widget_width # 在x轴上移动的位置widget_y i // column_count * widget_height # 在y轴上移动的位置w.move(widget_x, widget_y)w.setStyleSheet(background-color: red; border: 1px solid yellow;)if __name__ __main__:app QApplication(sys.argv)window Create_Widget()window.createWidget(100, 5)window.show()sys.exit(app.exec_())运行结果 QWidget尺寸限定操作
在PyQt中QWidget提供了一些方法来限制其尺寸的最小和最大值。
下面是设置尺寸大小方法的介绍 setMinimumWidth(width)和setMinimumHeight(height)方法 作用设置QWidget的最小宽度和最小高度为给定的值。参数width和height为整数分别表示最小宽度和最小高度。 setMinimumSize(width, height)方法 作用设置QWidget的最小尺寸为给定的宽度和高度。参数width和height为整数分别表示最小宽度和最小高度。 setMaximumWidth(width)和setMaximumHeight(height)方法 作用设置QWidget的最大宽度和最大高度为给定的值。参数width和height为整数分别表示最大宽度和最大高度。 setMaximumSize(width, height)方法 作用设置QWidget的最大尺寸为给定的宽度和高度。参数width和height为整数分别表示最大宽度和最大高度。
下面是获取尺寸信息方法的介绍 minimumWidth()和minimumHeight()方法 作用获取QWidget的最小宽度和最小高度。返回值整数表示最小宽度和最小高度。 minimumSize()方法 作用获取QWidget的最小尺寸。返回值QSize对象包含最小宽度和最小高度。 maximumWidth()和maximumHeight()方法 作用获取QWidget的最大宽度和最大高度。返回值整数表示最大宽度和最大高度。 maximumSize()方法 作用获取QWidget的最大尺寸。返回值QSize对象包含最大宽度和最大高度。
案例
创建一个窗口设置最小尺寸和最大尺寸。
要求最小为250, 250最大为500, 500测试通过resize是否可以改变。
from PyQt5.QtWidgets import *
import sysapp QApplication(sys.argv)window QWidget()
window.setWindowTitle(最小尺寸最大尺寸限定)window.setMinimumSize(250, 250) # 设置窗口最小值
window.setMaximumSize(500, 500) # 设置窗口最大值window.resize(1000, 1000)window.show()sys.exit(app.exec_())将窗口结果进行比较 运行以上结果发现resize(1000, 1000)没有发挥作用因为窗口已被限定最大为500, 500。
内容边距
在PyQt中QWidget类提供了一些用于内容边距操作的方法。下面是这些方法的介绍 setContentsMargins(left, top, right, bottom)方法 作用设置QWidget的内容边距即内容区域与边界的距离。参数left、top、right、bottom为整数分别表示内容区域与左边、上边、右边、下边的距离。 getContentsMargins()方法 作用获取QWidget的内容边距。返回值一个包含四个整数的元组分别表示内容区域与左边、上边、右边、下边的距离。 contentsRect()方法 作用获取QWidget的内容矩形区域。返回值一个QRect对象表示QWidget的内容矩形区域即不包括边框和滚动条的区域。
案例
创建一个窗口包含一个标签。
要求标签内容为“我爱Python我学PyQt”标签大小为300, 300并将内容放在标签的右下角。
from PyQt5.QtWidgets import *
import sysapp QApplication(sys.argv)window QWidget()
window.setWindowTitle(内容边距的设置)
window.resize(500, 500)label QLabel(window)
label.setText(我爱Python我学PyQt)
label.resize(300, 300)
label.setStyleSheet(background-color: cyan;)# 设置内容边距
label.setContentsMargins(100, 200, 0, 0)# 获取内容边距
print(label.getContentsMargins())# 获取内容区域展示的范围
print(label.contentsRect())window.show()
sys.exit(app.exec_())运行结果