python qt designer 重定向_用户界面 - 将qtDesigner .ui文件链接到python / pyqt?

用户界面 - 将qtDesigner .ui文件链接到python / pyqt?

因此,如果我进入QtDesigner并构建UI,它将被保存为.ui文件。 我怎么能把它作为python文件或在python中使用它?

10个解决方案

51 votes

在代码中使用.ui的另一种方法是:

from PyQt4 import QtCore, QtGui, uic

class MyWidget(QtGui.QWidget)

...

#somewhere in constructor:

uic.loadUi('MyWidget.ui', self)

两种方法都很好。 不要忘记,如果你对图标等使用Qt资源文件(非常有用),你也必须编译它:

pyrcc4.exe -o ui/images_rc.py ui/images/images.qrc

注意,当uic编译接口时,它会在.py文件的末尾添加'import images_rc',因此您必须使用此名称将资源编译到文件中,或者在生成的代码中重命名它。

Maxim Popravko answered 2019-06-20T08:52:50Z

34 votes

结合Max的答案和Shriramana Sharma的邮件列表文章,我构建了一个小工作示例,用于加载包含QMainWindow的mywindow.ui文件(因此只需选择在Qt Designer的File-New对话框中创建主窗口)。

这是加载它的代码:

import sys

from PyQt4 import QtGui, uic

class MyWindow(QtGui.QMainWindow):

def __init__(self):

super(MyWindow, self).__init__()

uic.loadUi('mywindow.ui', self)

self.show()

if __name__ == '__main__':

app = QtGui.QApplication(sys.argv)

window = MyWindow()

sys.exit(app.exec_())

metakermit answered 2019-06-20T08:53:24Z

27 votes

您需要使用pyuic工具(site-packages \ pyqt4 \ bin)从您的ui文件生成python文件

pyuic form1.ui > form1.py

用pyqt4

pyuic4.bat form1.ui > form1.py

然后,您可以将form1导入到脚本中。

luc answered 2019-06-20T08:54:05Z

22 votes

我发现这篇文章非常有帮助。

[http://talk.maemo.org/archive/index.php/t-43663.html]

我将简要描述创建和更改.ui文件到.py文件的操作,取自该文章。

从开始菜单启动Qt Designer。

从“新建窗体”窗口中,创建“主窗口”

从“显示窗口小部件”到左侧“窗口小部件框菜单”的底部

添加“标签小部件”。 (单击拖放)

双击新添加的Label Widget将其名称更改为“Hello World”

此时,您可以使用Ctrl + R热键查看它的外观。

如果需要,可以通过拖放添加按钮或文本或其他小部件。

现在保存您的表单..文件 - >另存为 - > “Hello World.ui”(Control + S也会提出来

“另存为”选项)记下保存“Hello World”.ui的目录

文件。 (为方便起见,我把它保存在(C :)中)

该文件已创建并保存,现在我们将使用pyuic从中生成Python代码!

从开始菜单打开命令窗口。

现在“cd”进入你保存“Hello World.ui”的目录。对我来说,我只需要“cd \”并且在我的“C:>” 提示,我的“Hello World.ui”已保存到。

当您到达存储文件的目录时,请键入以下内容。

pyuic4 -x helloworld.ui -o helloworld.py

恭喜! 你现在有一个python Qt4 GUI应用程序!

双击helloworld.py文件以运行它。 (我使用pyscripter并双击

它在pyscripter中打开,然后我从那里“运行”文件

希望这有助于某人。

xopenex answered 2019-06-20T08:57:07Z

10 votes

您还可以使用以下代码在PyQt5中使用uic。

from PyQt5 import uic, QtWidgets

import sys

class Ui(QtWidgets.QDialog):

def __init__(self):

super(Ui, self).__init__()

uic.loadUi('SomeUi.ui', self)

self.show()

if __name__ == '__main__':

app = QtWidgets.QApplication(sys.argv)

window = Ui()

sys.exit(app.exec_())

Akshay answered 2019-06-20T08:57:34Z

6 votes

您可以使用以下命令将.ui文件转换为可执行的python文件。

pyuic4 -x form1.ui > form1.py

现在你可以直接执行python文件了

python3(whatever version) form1.py

您可以导入此文件,然后就可以使用它。

Jeba answered 2019-06-20T08:58:16Z

6 votes

在我看来,更清洁的方式是首先导出到.py如上所述:

pyuic4 foo.ui > foo.py

然后在你的代码中使用它(例如foo.py),如:

from foo import Ui_MyWindow

class MyWindow(QtGui.QDialog):

def __init__(self):

super(MyWindow, self).__init__()

self.ui = Ui_MyWindow()

self.ui.setupUi(self)

# go on setting up your handlers like:

# self.ui.okButton.clicked.connect(function_name)

# etc...

def main():

app = QtGui.QApplication(sys.argv)

w = MyWindow()

w.show()

sys.exit(app.exec_())

if __name__ == "__main__":

main()

这种方式可以让其他不使用qt-designer的人阅读代码,并将您的功能代码保存在foo.py之外,可以被设计人员覆盖。 您只需参考ui至MyWindow类,如上所示。

chefarov answered 2019-06-20T08:58:58Z

4 votes

你可以像这样编译ui文件

pyuic4 -x helloworld.ui -o helloworld.py

reviloera answered 2019-06-20T08:59:25Z

3 votes

为了将.ui文件编译为.py文件,我做了:

python pyuic.py form1.ui > form1.py

ATT。

filipemr answered 2019-06-20T08:59:59Z

0 votes

使用Anaconda3(2018年9月)和QT设计师5.9.5。在QT设计器中,将文件另存为ui。打开Anaconda提示。 搜索您的文件:cd C:....(复制/粘贴文件的访问路径)。然后写:pyuic5 -x helloworld.ui -o helloworld.py(helloworld =你文件的名字)。 输入。启动Spyder。 打开你的文件.py。

Pifpy answered 2019-06-20T09:00:27Z

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值