PyQT5:如何将 QLineEdit 字符串从一个 class 传递到另一个?
PyQT5: How to pass QLineEdit string from one class to another?
我正在编写一个生成发票的应用程序。
我有两个 windows。在第一个中,我使用 QLineEdit 从用户那里收集数据(姓名、地址等)。然后我想把这个数据传给另一个class去开票。我该怎么做?
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() 从第一个 class 传递到第二个 class?
您可以将 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
时已经设置为正确的文本,您可以直接将值传递给新的 class,而不是传递整个 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)
我正在编写一个生成发票的应用程序。 我有两个 windows。在第一个中,我使用 QLineEdit 从用户那里收集数据(姓名、地址等)。然后我想把这个数据传给另一个class去开票。我该怎么做?
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() 从第一个 class 传递到第二个 class?
您可以将 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
时已经设置为正确的文本,您可以直接将值传递给新的 class,而不是传递整个 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)