我试图创建一个简单的gui应用程序,其结构如下
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
self.table_widget = MainTabWindow()
self.setCentralWidget(self.table_widget)
self.show()
class MainTabWindow(QTabWidget):
def __init__(self,parent=None):
#super(QWidget, self).__init__(parent)
super(MainTabWindow, self).__init__(parent)
self.init_ui()
def init_ui(self):
self.setWindowTitle('PyQt5 Tab Example')
self.layout = QVBoxLayout(self)
#self.selected_date = QDate.currentDate()
#self.tabs = QTabWidget()
self.tab1 = QWidget()
self.tab2 = QWidget()
self.tab3 = QWidget()
self.tab4 = QWidget()
#self.buttonLayout = QMainWindow()
self.addTab(self.tab1,"Search")
self.addTab(self.tab2,"Add/Update")
self.addTab(self.tab3,"Billing Summary")
self.addTab(self.tab4,"Search2")
self.SearchTab()
self.PGCreationTab()
self.BillingSummaryTab()
def PGCreationTab(self):
layout = QFormLayout()
policy = QSizePolicy()
layout.setFieldGrowthPolicy(QFormLayout.FieldGrowthPolicy(2))
PG_obj = PGDetails()
fn = PG_obj.setFirstName()
layout.addRow("FirstName",fn)
fn.textChanged.connect(PG_obj.getText)
def main():
application = QApplication(sys.argv)
main_window = MainTabWindow()
main_window.show()
sys.exit(application.exec_())
if __name__ == '__main__':
main()
pgdetails类-
class PGDetails():
def __init__(self,parent=None):
self.obj = 5
#self.FirstName = QLineEdit()
#self.FirstName.setValidator(QIntValidator())
def setFirstName(self):
self.FirstName = QLineEdit()
#print("Inside")
#print(self.FirstName.text())
return self.FirstName
def getText(self):
print("Inside")
print(self.FirstName.text())
我无法检查名字行框中的任何文本更改,gettext函数永远不会被调用。
如果我使用self,它会抛出一个错误,因为在maintabwindow中没有定义gettext
如何从maintabwindow类内部调用gettext函数