用PYQT设计好了界面,用另一PY文件调用,要怎么做?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用PYQT设计好了界面,用另一PY文件调用,要怎么做?相关的知识,希望对你有一定的参考价值。

pyqt自动生成了整个框架的ui文件,然后转成了py文件,然后我要写另一个py调用这些控件来写方法,要怎么写啊
自动写的控件类似:
self.textBrowser.setObjectName(_fromUtf8("textBrowser"))
self.label = QtGui.QLabel(Dialog)
self.label.setGeometry(QtCore.QRect(90, 180, 61, 20))
self.label.setObjectName(_fromUtf8("label"))

self.retranslateUi(Dialog)
QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)

直接就在这里面写也可以的,不用调用。

网上多看Blog,博客园和CSDN上例子都有。

我花了一周自学搞定了一个跟你类似的小项目。

你一定要调用的话,import A from A这种就可以,参照:

如何调用另一个.py文件中的类和函数

追问

关键吧 我要调用的是那些控件 就比如
self.pushButton = QtGui.QPushButton(Dialog)
self.pushButton.setGeometry(QtCore.QRect(280, 250, 75, 23))
我要调用的是pushButton
然后from test1_count import Ui_Dialog

使用Ui_Dialog.pushButton就会提示type object 'Ui_Dialog' has no attribute 'pushButton'
这得咋整

追答

pushButton是按钮名称,你改成你界面里具体按钮名称就行了。

我这个是按钮名称就叫‘pushButton’,第二个叫‘pushButton_2’。。。测试用的也没讲究,哈哈。

self.pushButton.setObjectName("pushButton") #查询按钮
        self.pushButton.clicked.connect(self.on_click)    #绑定点击动作

def on_click(self):    #点击后具体执行的任务
        # 取当前索引
        zy_index = self.comboBox.currentIndex()
        kl_index = self.comboBox_2.currentIndex()
        dy_index = self.comboBox_3.currentIndex()
        # 取当前名称
        zy_name = self.comboBox.itemText(zy_index)
        kl_name = self.comboBox_2.itemText(kl_index)
        dy_name = self.comboBox_3.itemText(dy_index)
        fs=self.textEdit.toPlainText()
        #从mysql中查询结果
        conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='test@123', db='test', charset='utf8')  
        cur=conn.cursor()
        sql2018="select `位次` from 表1 where `分数`="+str(fs)+" and `年份`='2017' and `科类`='"+str(kl_name)[0]+"科';"
        cur.execute(sql2018)
        result=cur.fetchone()
        result2018=int(str(result)[1:-2])

OK。

参考技术A 请问解决了吗?我也遇到了这个问题

我使用QT做好了界面,用python写好了功能,怎么把两者连接起来呢?

答:我知道目前你应该就是用qt designer设计好了界面,然后你的Python代码是PyCharm,那么要将两者连接起来的话,有两种方法。

    使用pyuic功能,这个功能需要你在PyCharm上面配置一下pyqt,可以将Qt的UI文件转化为一个Python的类,然后你就可以直接在你的工程里面引用这个类;无需将UI文件转化为Python中的类,而只需要直接加载该UI文件就可以了,使用如下代码,如图红框所示,其中涉及到PyQt.uic的loadUi类。

直接加载UI文件

希望对你有帮助~

参考技术A

先在design里按顺序点击:

打开你的功能文件:


把功能封装成函数然后按CTRL+V粘贴在Design里复制的代码:

加入信号,链接到函数:

最后,加入让窗体运行的代码:

    Tips:记得保存!还有,sys模块要记得import

ok~

以上是关于用PYQT设计好了界面,用另一PY文件调用,要怎么做?的主要内容,如果未能解决你的问题,请参考以下文章

pyqt 按钮怎么添加右键菜单

PyQt5系列教程如何让界面和逻辑分离

Python+PyQt5界面开发例子2

pyqt 窗口的调用

pyqt 按钮怎么添加右键菜单

python学生管理系统(pyqt5 含界面)