python使用pyqt5怎么绘画宽固定给一个输入框可输入数据后点击确定可以改变窗口高度高度的窗口
时间: 2023-06-14 08:07:52 浏览: 131
QT资源容器窗口可采取取宽度固或不固定,高度自由,宽
可以使用PyQt5中的QPainter和QWidget组件来实现绘图和窗口高度的改变。
以下是一个简单的示例代码:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLineEdit, QPushButton
from PyQt5.QtGui import QPainter, QColor, QPen
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 500, 300)
self.setWindowTitle('Resizable Window')
# 创建一个可输入数据的文本框和一个确定按钮
self.input_box = QLineEdit(self)
self.input_box.move(20, 20)
self.input_box.resize(200, 30)
self.button = QPushButton('确定', self)
self.button.move(240, 20)
self.button.resize(80, 30)
self.button.clicked.connect(self.on_click)
def paintEvent(self, event):
qp = QPainter(self)
qp.setPen(QPen(QColor(0, 0, 0), 2))
qp.drawLine(0, 50, self.width(), 50)
def on_click(self):
# 获取输入框中的值
value = self.input_box.text()
try:
# 将输入框中的值转换为整数,作为窗口高度
height = int(value)
self.resize(self.width(), height)
except ValueError:
pass
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
ex.show()
sys.exit(app.exec_())
```
在这个示例中,我们创建了一个继承自QWidget的Example类,并实现了initUI()方法来创建窗口中的组件。我们创建了一个可输入数据的文本框和一个确定按钮,点击确定按钮后,我们将输入框中的值转换为整数,并将其作为窗口的高度来调整窗口大小。
在paintEvent()方法中,我们使用QPainter来绘制一条黑色线条,作为窗口的分隔线。
使用resize()方法来改变窗口的大小。
最后,在main方法中,我们创建了一个QApplication实例,并将Example实例显示出来。
阅读全文