python - PyQT5:如何将 QLineEdit 字符串从一个类传递到另一个类?
问题描述
我正在编写一个生成发票的应用程序。我有两个窗户。在第一个中,我使用 QLineEdit 从用户(姓名、地址等)收集数据。然后我想将此数据传递给另一个班级以制作发票。我该怎么做?
class FormularzFaktury(QDialog):
def __init__(self, parent=None):
super(FormularzFaktury, self).__init__(parent)
(...)
nazwiskonabywcyLbl = QLabel('Imię i nazwisko/nazwa: ')
self.nazwiskonabywcy = QLineEdit(self)
uklad.addWidget(nazwiskonabywcyLbl, 2, 0)
(...)
def dodajprodukty(self):
self.DP = DodajProdukty()
self.DP.show()
class DodajProdukty(QDialog):
def __init__(self, parent=None):
super(DodajProdukty, self).__init__(parent)
(...)
def show_nazwiskonabywcy(self)
nazwiskonabywcy=self.nazwiskonabywcy.text()
print(nazwiskonabywcy)
如何将 self.nazwiskonabywcy.text() 从第一堂课传递到第二堂课?
解决方案
您可以将self.nazwiskonabywcy
其作为参数传递给DodajProdukty
,然后将其设置为自己的self.nazwiskonabywcy
,因此代码如下所示:
class FormularzFaktury(QDialog):
def __init__(self, parent=None):
super(FormularzFaktury, self).__init__(parent)
nazwiskonabywcyLbl = QLabel('Imię i nazwisko/nazwa: ')
self.nazwiskonabywcy = QLineEdit(self)
uklad.addWidget(nazwiskonabywcyLbl, 2, 0)
def dodajprodukty(self):
self.DP = DodajProdukty(self.nazwiskonabywcy)
self.DP.show()
class DodajProdukty(QDialog):
def __init__(self, nazwiskonabywcy, parent=None):
super(DodajProdukty, self).__init__(parent)
self.nazwiskonabywcy = nazwiskonabywcy
def show_nazwiskonabywcy(self)
nazwiskonabywcy=self.nazwiskonabywcy.text()
print(nazwiskonabywcy)
或者,如果self.nazwiskonabywcy
在实例化点已经设置为正确的文本DodajProdukty
,您可以直接将值传递给新类,而不是传递整个QLineEdit
:
class FormularzFaktury(QDialog):
def __init__(self, parent=None):
super(FormularzFaktury, self).__init__(parent)
nazwiskonabywcyLbl = QLabel('Imię i nazwisko/nazwa: ')
self.nazwiskonabywcy = QLineEdit(self)
uklad.addWidget(nazwiskonabywcyLbl, 2, 0)
def dodajprodukty(self):
self.DP = DodajProdukty(self.nazwiskonabywcy.text())
self.DP.show()
class DodajProdukty(QDialog):
def __init__(self, nazwiskonabywcy, parent=None):
super(DodajProdukty, self).__init__(parent)
self.nazwiskonabywcy = nazwiskonabywcy
def show_nazwiskonabywcy(self)
print(self.nazwiskonabywcy)
推荐阅读
- c++ - 如何根据模板类型将调用转发到可以是 const 或非 const 的成员函数模板?
- reactjs - 接收未定义的值
- reactjs - ReactJs:为什么 ref.current 在渲染组件时返回 null?
- python - 如何从 bs4 解析的响应中获取指定的 html 文本?
- spring-cloud-dataflow - Spring Cloud Data Flow java DSL:容器属性
- node.js - 如何在函数组件中使用类组件函数
- javascript - Reactjs - 不要更新组件的某些部分
- android - 在 Android 移动应用中播放直播延迟约 10 到 15 秒
- php - Laravel 8在api请求上返回flock错误
- reactjs - ReactJs 功能组件 - 如何从外部调用函数?