Qt5.12 PySide2
# This Python file uses the following encoding: utf-8
import sys
import os
from PySide2.QtWidgets import QApplication, QWidget
from PySide2.QtCore import QFile
from PySide2.QtUiTools import QUiLoader
envpath = 'C:\ProgramData\Anaconda3\Lib\site-packages\PySide2\plugins\platforms'
os.environ["QT_QPA_PLATFORM_PLUGIN_PATH"] = envpath
def sayHello():
print("Hello")
class main(QWidget):
def __init__(self):
super(main, self).__init__()
self.load_ui()
def load_ui(self):
loader = QUiLoader()
path = os.path.join(os.path.dirname(__file__), "form.ui")
ui_file = QFile(path)
ui_file.open(QFile.ReadOnly)
# loader load ui_file to self.ui, and then we could control the controllers by self.ui.
self.ui = loader.load(ui_file, self)
ui_file.close()
def create_connection(self):
# Function1
self.ui.pushButton.clicked.connect(self.set_label)
# Function2
self.ui.textEdit_1.textChanged.connect(lambda :
self.ui.textEdit_2.setPlainText(self.ui.textEdit_1.toPlainText()))
# self.ui.textEdit_2.textChanged.connect(lambda :
# self.ui.textEdit_1.setPlainText(self.ui.textEdit_2.toPlainText()))
# RecursionError: maximum recursion depth exceeded
# Function3
self.ui.horizontalSlider.valueChanged.connect(self.set_value)
def set_value(self):
data = self.ui.horizontalSlider.value()
self.ui.lineEdit.setText(str(data))
data = self.ui.lineEdit.text()
def set_label(self):
print("click")
self.ui.label.setText("Hi")
data = self.ui.label.text()
data = self.ui.textEdit.toPlainText()
if __name__ == "__main__":
print("Hi")
app = QApplication([])
widget = main()
widget.create_connection()
# widget.resize(250,150)
widget.show()
sys.exit(app.exec_())