用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类。
希望对你有帮助~
参考技术A先在design里按顺序点击:
打开你的功能文件:
把功能封装成函数然后按CTRL+V粘贴在Design里复制的代码:
加入信号,链接到函数:
最后,加入让窗体运行的代码:
Tips:记得保存!还有,sys模块要记得import
ok~
以上是关于用PYQT设计好了界面,用另一PY文件调用,要怎么做?的主要内容,如果未能解决你的问题,请参考以下文章