将pyqt ui文件转换成py文件
Posted
技术标签:
【中文标题】将pyqt ui文件转换成py文件【英文标题】:Converting pyqt ui files into py files 【发布时间】:2015-11-05 23:07:21 【问题描述】:所以我最近从 tkinter 切换到 pyqt 用于我的 python gui 应用程序,我喜欢它????。
但是有一件事让我很烦恼,我希望你们能帮助我。
我喜欢使用 qtdesigner 工具,这样我可以快速开发接口,但是当我将 qui 转换为 py 时,它使用设置主窗口的 setupUi 方法以一种稍微不寻常的方式构造了一个类。我希望我可以使用 init 方法将其制作类的方式更改为更传统的方式,以便我可以从中继承并在另一个文件中定义我的事件等。目前我手动完成。这样可以很容易地在设计器中修改 ui,并且仍然可以从转换后的 py 文件中导入,而无需制作任何 mods。
我希望我的问题是有道理的,我期待听到其他开发人员如何处理这个问题。
提前致谢
【问题讨论】:
【参考方案1】:我通常加载 ui 文件本身而不转换为 py.这实际上节省了一些时间,代码看起来也不错。这是一个sn-p
from PyQt4 import QtGui, QtCore, uic
import sys
# Here you can add your ui path from desigener, no need to convert
RESOURCE_PATH = package.__BASERESLOC__
baseUI = os.path.join(RESOURCE_PATH, "base_main.ui")
baseUIClass, baseUIWidget = uic.loadUiType(baseUI)
class BASEGUICLS(baseUIWidget, baseUIClass):
def __init__(self,parent=None):
super(BASEGUICLS, self).__init__(parent)
self.setupUi(self)
#after this you will have everything
self.pushButton.setText("Foo")
def main():
"""
Main function which init main GUI.
"""
app = QtGui.QApplication(sys.argv)
ex = BASEGUICLS(None)
ex.show()
sys.exit(app.exec_())
【讨论】:
非常感谢,这正是我想要的。在不影响代码的情况下轻松调整 gui。 是的,它真的很好,很开心 :)以上是关于将pyqt ui文件转换成py文件的主要内容,如果未能解决你的问题,请参考以下文章