Qt-PySide2-加载ui文件和访问控件示例

Qt5.12 PySide2

  1. 如何加载ui文件;
  2. 如何访问控件
# 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_())

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值