Python 重用设计元素PyQt
使用python和qt框架构建GUI应用程序时。我希望重用某些UI元素,而无需反复定义它们。在我的示例中,我想创建一个下拉菜单,用y(number)和result(number)定义行数 应用实例Python 重用设计元素PyQt,python,qt,pyqt,Python,Qt,Pyqt,使用python和qt框架构建GUI应用程序时。我希望重用某些UI元素,而无需反复定义它们。在我的示例中,我想创建一个下拉菜单,用y(number)和result(number)定义行数 应用实例 import sys from PyQt5.QtWidgets import (QApplication, QWidget, QPushButton, QLineEdit, QGridLayout, QLabel) from math imp
import sys
from PyQt5.QtWidgets import (QApplication, QWidget, QPushButton,
QLineEdit, QGridLayout, QLabel)
from math import sqrt
class program(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('Program')
flow = QLabel('x1')
pressuredrop_1 = QLabel('y1')
pressuredrop_2 = QLabel('y2 ')
kv = QLabel('result 1')
kv_2 = QLabel('result 2')
grid = QGridLayout()
grid.setSpacing(10)
self.setLayout(grid)
self.setGeometry(300,300,300,150)
self.btn = QPushButton('Calculate', self)
self.flow = QLineEdit(self)
self.pd = QLineEdit(self)
self.result = QLineEdit(self)
self.pd_2 = QLineEdit(self)
self.kvresult_2 = QLineEdit(self)
grid.addWidget(flow, 1,0)
grid.addWidget(self.flow, 1, 1)
grid.addWidget(pressuredrop_1, 2,0)
grid.addWidget(self.pd, 2, 1)
grid.addWidget(pressuredrop_2, 3,0)
grid.addWidget(self.pd_2, 3, 1)
grid.addWidget(kv, 2,2)
grid.addWidget(self.result, 2,3)
grid.addWidget(kv_2, 3,2)
grid.addWidget(self.kvresult_2, 3,3)
grid.addWidget(self.btn, 4,1)
self.btn.clicked.connect(self.calculate)
self.btn.clicked.connect(self.calculate_2)
self.show()
你的问题是什么?我想你可以用所有的GUI初始化创建一个类,然后实例化它多少次。通过这种方式,您将“重用”您创建的GUI结构,以便根据用户输入动态更改
yn
/result n
小部件的行数?抱歉误解@是的,这正是我的意思。@Eduardo这意味着我必须用正手来定义它们?对于每一行,我需要添加至少8行代码。这不能做得更小/更容易吗?你的问题是什么?我想你可以用所有GUI初始化创建一个类,然后实例化它多少次。通过这种方式,您将“重用”您创建的GUI结构,以便根据用户输入动态更改yn
/result n
小部件的行数?抱歉误解@是的,这正是我的意思。@Eduardo这意味着我必须用正手来定义它们?对于每一行,我需要添加至少8行代码。这不能做得更小/更容易吗?