【发布时间】:2022-01-27 02:38:22
【问题描述】:
我尝试在其他类的 Window1 中使用 txtbox 中的值 通过单击 Window1 中的按钮 我尝试了 100 多种方法,但仍然不行! 当我单击按钮时,如何在 Window1 中获取 txtbox 的值 运行 callstock 并首先在 callstock 中从 Window1 获取文本框的值 注意:当我设置值“示例”时,代码工作正常 但我无法从 Window1 类中获得该值
class Window1(QWidget):
def __init__(self):
super().__init__()
self.setGeometry(550,200,500,500)
self.setWindowTitle('program')
self.UI()
def UI(self):
self.txtbox = QLineEdit(self)
self.txtbox.move(150,10)
self.txtbox.setPlaceholderText("name")
btnfind = QPushButton("Find",self)
btnfind.move(175,35)
btnfind.clicked.connect(self.getValues)
self.show()
def sendval(self):
txt = self.txtbox.text()
return txt
def getValues(self):
self.newB = callstock()
class callstock(QWidget):
def __init__(self):
super().__init__()
wi = Window1.sendval(self)
self.setWindowTitle(wi)
self.setGeometry(10,10,500,500)
self.UI()
self.figview1 = showchart1(name=wi,day=200)
self.figview1.setGeometry(10,10,500,500)
self.figview1.move(0,0)
self.figview1.show()
def UI(self):
pass
def main():
app = QApplication(sys.argv)
window = Window1()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
【问题讨论】:
-
您应该将第一类(或
textbox)作为参数发送到第二类 -self.newB = callstock(self)其中self表示Window1的实例 - 或self.newB = callstock(self.textbox)- 稍后在callstock()您必须将其分配给变量def __init__(self, other_class):或def __init__(self, other_textbox):- 稍后您可以使用w1 = other_class.sendval()或w1 = other_class..txtbox.text()或w1 = other_textbox.text()。您不能在其他班级使用Window1访问头等舱。 -
您可以在代码中添加所有
import以生成最少的工作代码,我们可以简单地复制这些代码来创建解决方案。
标签: python python-3.x pyqt pyqt5