前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[PyQT5]初体验-编译ui文件-自定义槽函数

[PyQT5]初体验-编译ui文件-自定义槽函数

作者头像
祥知道
发布2020-03-10 15:34:00
1.1K0
发布2020-03-10 15:34:00
举报
文章被收录于专栏:祥的专栏

原创文章,欢迎转载。转载请注明:转载自 祥的博客

原文链接:https://cloud.tencent.com/developer/article/1596312


  • Step1. 用Qt Designer设计一个想要的UI
  • Step2. 用pyuic5编译为py文件
  • Step3. 继承一个dlg类
  • Step4. show之

Step1. 用Qt Designer设计一个想要的UI

Step2. 用pyuic5编译为py文件

运行cmd执行命令

代码语言:javascript
复制
> pyuic5 dlg_UI.ui > dlg_UI.py

# 也有下面这样的方式 {没有测试过}
> pyuic5 -o dlg_UI.py dlg_UI.ui 
# 其中,-o [输出文件的名称] [生成的ui文件的名称]

此时我们得到了dlg_UI.py文件

代码语言:javascript
复制
# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'dlg_UI.ui'
#
# Created by: PyQt5 UI code generator 5.10.1
#
# WARNING! All changes made in this file will be lost!

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        Dialog.resize(740, 294)
        self.tableWidget = QtWidgets.QTableWidget(Dialog)
        self.tableWidget.setGeometry(QtCore.QRect(50, 81, 601, 171))
        self.tableWidget.setObjectName("tableWidget")
        self.tableWidget.setColumnCount(4)
        self.tableWidget.setRowCount(0)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(1, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(2, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(3, item)
        self.btn_GetFile = QtWidgets.QPushButton(Dialog)
        self.btn_GetFile.setGeometry(QtCore.QRect(330, 20, 75, 23))
        self.btn_GetFile.setObjectName("btn_GetFile")
        self.edit_dir = QtWidgets.QLineEdit(Dialog)
        self.edit_dir.setGeometry(QtCore.QRect(50, 20, 271, 20))
        self.edit_dir.setReadOnly(True)
        self.edit_dir.setObjectName("edit_dir")

        self.retranslateUi(Dialog)
        QtCore.QMetaObject.connectSlotsByName(Dialog)

    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
        item = self.tableWidget.horizontalHeaderItem(0)
        item.setText(_translate("Dialog", "选择"))
        item = self.tableWidget.horizontalHeaderItem(1)
        item.setText(_translate("Dialog", "路径"))
        item = self.tableWidget.horizontalHeaderItem(2)
        item.setText(_translate("Dialog", "文件编码"))
        item = self.tableWidget.horizontalHeaderItem(3)
        item.setText(_translate("Dialog", "转换编码"))
        self.btn_GetFile.setText(_translate("Dialog", "获取文件"))

Step3. 继承一个dlg类

代码语言:javascript
复制
from dlg_UI import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *


class listDlg(QDialog):
    def __init__(self, name="Dlg"):
        # 构造函数
        super().__init__()
        self.initUI(name)
        self.cnt_tmp = 0


    def initUI(self, name):
        # 初始化函数
        self.ui = Ui_Dialog()
        self.ui.setupUi(self)
        self.setWindowTitle(name)
        self.initConnect()



    def initConnect(self):
        # 初始化信号与槽
        self.ui.btn_GetFile.clicked.connect(self.slot_btn_getFile)
        pass


    def setDirEditText(self, str_show):
        # 更新edit的文本
        self.ui.edit_dir.setText( str_show )

    # ######################
    #        槽函数
    # ######################

    def slot_btn_getFile(self):
        #btn_getFile的槽函数
        self.cnt_tmp = self.cnt_tmp + 1
        self.setDirEditText(str(self.cnt_tmp))

        pass

Step4. show之

这就是主函数了

代码语言:javascript
复制
from listDlg import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
import sys

if __name__ == '__main__':
    app = QApplication( sys.argv )
    dlg = listDlg('转换文件编码')
    dlg.show()
    sys.exit(app.exec_())
    pass
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Step1. 用Qt Designer设计一个想要的UI
  • Step2. 用pyuic5编译为py文件
  • Step3. 继承一个dlg类
  • Step4. show之
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档