Открываем дизайнер поместить некоторые элементы управления на экране, сохранить интерфейс mainUi.ui, будут преобразованы в Ui_mainwin.py mainwin.ui
pyuic5 -o mainwin.ui ui_mainwin.py
ui_mainwin.py код генерируется автоматически, вам не нужно двигаться.
Существует класс Ui_MainWindow сгенерированный файл
Новый файл ого main.py, код выглядит следующим образом:
импорт SYS
из PyQt5.QtWidgets импорта QApplication, QMainWindow, QFileDialog
импорт ui_mainwin
класс MainCode (QMainWindow, ui_mainwin.Ui_MainWindow):
Защита __init __ (Я):
QMainWindow .__ INIT __ (Я)
mainUi.Ui_MainWindow .__ INIT __ (сам)
self.setupUi (сам)
self.btn_save.clicked.connect (self.on_save)
самостоятельно. btn_open.clicked.connect (self.on_open)
Защита on_save (Я):
FullFileName, _ = QFileDialog.getSaveFileName (я, '文件另存为', г './', 'TXT (* .txt)')
set_text = сам .txt_view.toPlainText ()
с открытым (FullFileName, 'вес') , как F:
печать (set_text, файл = е)
защиту ON_OPEN (Я):
txtstr = ""
FullFileName, _ = QFileDialog.getOpenFileName (я, '打开', г './', 'TXT (* .txt)')
с открытой (FullFileName, 'RT') , как F:
строки = F.readlines ()
для линии в линии:
txtstr = txtstr + линия
self.txt_view.setText (txtstr) ,
если __NAME __ == '__ main__':
приложение = QApplication (sys.argv)
мкр = MainCode ()
md.show ()
sys.exit (app.exec_ ())
MainCode также предоставляет контейнерный класс, класс наследует от QMainWindow, mainUi.Ui_MainWindow, в конструкторе для этого класса конструктора класса операций родительского класса, и начала координат в качестве параметра себе setupUi, и добавила информационный сигнал & слот
self.btn_save.clicked.connect (self.on_save)
self.btn_open.clicked.connect (self.on_open)
Это утверждение вызывает сигналы с двумя канавками ручной привязки функции