将 qtDesigner .ui 文件链接到 python/pyqt?
因此,如果我进入 QtDesigner 并构建 UI,它将保存为 .ui 文件。我怎样才能把它作为一个Python文件或在Python中使用它?
So if I go into QtDesigner and build a UI, it'll be saved as a .ui file. How can I make this as a python file or use this in python?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(12)
在代码中使用 .ui 的另一种方法是:
两种方法都很好。不要忘记,如果你使用Qt资源文件(非常有用)作为图标等,你也必须编译它:
注意,当
uic
编译界面时,它会在最后添加'import images_rc' .py 文件的名称,因此您必须将资源编译到具有该名称的文件中,或者在生成的代码中重命名。Another way to use .ui in your code is:
both approaches are good. Do not forget, that if you use Qt resource files (extremely useful) for icons and so on, you must compile it too:
Note, when
uic
compiles interface, it adds 'import images_rc' at the end of .py file, so you must compile resources into the file with this name, or rename it in generated code.结合Max的回答和Shriramana Sharma 的邮件列表帖子,我构建了一个小型工作示例,用于加载包含
QMainWindow
的mywindow.ui
文件> (因此只需选择在 Qt Designer 的File-New
对话框中创建一个主窗口)。这是加载它的代码:
Combining Max's answer and Shriramana Sharma's mailing list post, I built a small working example for loading a
mywindow.ui
file containing aQMainWindow
(so just choose to create a Main Window in Qt Designer'sFile-New
dialog).This is the code that loads it:
您需要使用
pyqt4
的 pyuic 工具(site-packages\pyqt4\bin)从 ui 文件生成一个 python 文件,然后您可以将 form1 导入到您的脚本中。
You need to generate a python file from your ui file with the pyuic tool (site-packages\pyqt4\bin)
with pyqt4
Then you can import the form1 into your script.
我发现这篇文章非常有帮助。
http://talk.maemo.org/archive/index.php/t-43663.html< /a>
我将简要描述创建 .ui 文件并将其更改为 .py 文件的操作(摘自该文章)。
添加“标签小部件”。 (点击拖放)
“另存为”选项)记下保存“Hello World”.ui 的目录
文件。 (为了方便起见,我将其保存在 (C:) 中)
文件已创建并保存,现在我们将使用 pyuic 从中生成 Python 代码!
“cd\”,位于我的“C:>”提示,我的“Hello World.ui”被保存到。
它在 pyscripter 中打开,然后我从那里“运行”该文件)
希望这对某人有帮助。
I found this article very helpful.
http://talk.maemo.org/archive/index.php/t-43663.html
I'll briefly describe the actions to create and change .ui file to .py file, taken from that article.
add a "Label Widget". (Click Drag and Drop)
the "Save As" option) Keep note of the directory where you saved your "Hello World" .ui
file. (I saved mine in (C:) for convenience)
The file is created and saved, now we will Generate the Python code from it using pyuic!
"cd\" and was at my "C:>" prompt, where my "Hello World.ui" was saved to.
it opens in pyscripter, then i "run" the file from there)
Hope this helps someone.
您还可以通过以下代码在 PyQt5 中使用
uic
。You can also use
uic
in PyQt5 with the following code.我认为更干净的方法是首先像前面提到的那样导出到 .py:
然后在代码中使用它(例如
main.py
),例如:这种方式为其他不这样做的人提供了能力不要使用 qt-designer 来读取代码,并将功能代码保留在
foo.py
之外,以免被设计器覆盖。您只需通过MyWindow
类引用ui
即可,如上所示。The cleaner way in my opinion is to first export to .py as aforementioned:
And then use it inside your code (e.g
main.py
), like:This way gives the ability to other people who don't use qt-designer to read the code, and also keeps your functionality code outside
foo.py
that could be overwritten by designer. You just referenceui
throughMyWindow
class as seen above.您可以使用以下命令将 .ui 文件转换为可执行的 python 文件。
现在您可以直接执行 python 文件,因为
您可以导入此文件并可以使用它。
You can convert your .ui files to an executable python file using the below command..
Now you can straightaway execute the python file as
You can import this file and you can use it.
你可以像这样编译 ui 文件
you can compile the ui files like this
为了将 .ui 文件编译为 .py 文件,我做了
:
In order to compile .ui files to .py files, I did:
Att.
在pyqt5中从ui文件转换为.py文件
pyuic5.exe youruifile.ui -o outputpyfile.py -x
in pyqt5 to convert from a ui file to .py file
pyuic5.exe youruifile.ui -o outputpyfile.py -x
(2020 年 11 月)这对我有用(UBUNTU 20.04):
(November 2020) This worked for me (UBUNTU 20.04):
使用Anaconda3(2018年9月)和QT设计器5.9.5。
在 QT 设计器中,将文件另存为 ui.
打开 Anaconda 提示符。搜索您的文件:cd C:....(复制/粘贴文件的访问路径)。
然后写入: pyuic5 -x helloworld.ui -o helloworld.py (helloworld = 文件名)。进入。
启动 Spyder。打开您的文件 .py。
Using Anaconda3 (September 2018) and QT designer 5.9.5.
In QT designer, save your file as ui.
Open Anaconda prompt. Search for your file: cd C:.... (copy/paste the access path of your file).
Then write: pyuic5 -x helloworld.ui -o helloworld.py (helloworld = name of your file). Enter.
Launch Spyder. Open your file .py.