Qt Designer与pycharm的连接,self.button.clicked.connect 事件绑定

  使用Pyqt开发界面软件,自然会用到Qt Designer进行界面设计,然后保存为 .ui 文件。但是在 Python 代码里面如何使用这些 .ui 文件呢,界面设计中的功能又怎么实现呢。这时候就需要用到self.button.clicked.connect(self.click)

  self.button.clicked.connect(self.click) 是一个将信号与槽链接的方法(method),它的作用是在点击 button 时,执行(self.click)里的方法。

例如:

在Qt Designer进行界面设计时安,设计一个打开文件的按钮,具体实现:

class Stats:

    def __init__(self):
        # 从文件中加载UI定义
        qfile_stats = QFile("ui/stats.ui")
        # 调用了 open 方法并传递 QFile.ReadOnly 参数来以只读模式打开文件
        qfile_stats.open(QFile.ReadOnly)
        qfile_stats.close()

        # 初始化界面
        # 从 UI 定义中动态 创建一个相应的窗口对象
        self.ui = QUiLoader().load(qfile_stats)

        # 模型训练
        # 导入训练的数据集文件
        # pushButton为Qt Designer 中按钮的属性名
        # choose_file为方法名
        self.ui.pushButton.clicked.connect(self.choose_file)
        # 选择模型保存地址
        self.ui.pushButton_2.clicked.connect(self.save_model)
        # 训练按钮设置
        self.ui.pushButton_3.clicked.connect(self.train_net)
        # 训练结果生成图
        self.ui.pushButton_7.clicked.connect(self.train_result)

    def choose_file(self):
        get_directory_path = QFileDialog.getExistingDirectory(self.ui,
                                                              "选取指定文件夹",
                                                              "C:/")
        # 清除text文本展示
        dir_choose_sdf = get_directory_path
        self.ui.textEdit_12.clear()
        # 显示加载成功的信息
        self.ui.textEdit_12.append(f'加载训练数据集文件夹地址成功,地址为:{dir_choose_sdf}')

    # 选择模型文件保存地址
    def save_model(self):
        global dir_save_file2
        dir_save_file2 = QFileDialog.getExistingDirectory(self.ui,
                                                          "选取模型文件保存地址",
                                                          "/")  # 起始路径
        # 清除展示信息区
        self.ui.textEdit_3.clear()
        # 显示选取保存的地址
        self.ui.textEdit_3.append(f'选择模型文件保存的地址为:{dir_save_file2}')

app = QApplication([])
stats = Stats()
# 展示窗口
stats.ui.show()
app.exec_()

猜你喜欢

转载自blog.csdn.net/qq_46684028/article/details/132302962
今日推荐