我们可以通过两种方式使用PyQT创建GUI:
纯代码(如果您已跳过该代码,请参阅上一篇文章。)
与QT-designer拖放。
我们将在本文中详细研究第二种方法。在我们飞跃之前,让我们首先熟悉一些技术知识,这些知识将使我们的旅程更加顺畅和学习。开始了:
这是一个IDLE,具有拖放功能。要深入研究细节,请参阅我的第一篇有关使用Python和PyQT进行GUI开发的文章。它带有PyQT软件包。因此,您无需再打扰。您可以通过从桌面的“搜索”选项卡搜索或在以下目录路径中搜索“ C:\ Python34 \ Lib \ site-packages \ PyQt4 \ designer.exe”轻松找到其应用程序。
注意: “ C:”驱动器是我的Python软件包的安装路径(Python 34表示Python 3.4版本)。因为,您将经常使用它;我建议您在主页上创建一个快捷方式。
使自己非常熟悉Qtdesigner提供的工具。这些工具非常简单易用。随着我们在后续文章中进一步介绍,您将了解它们的功能可能进行的修改。实际上,我们正在使用文件的“ xml”格式。文件将以“ .ui”扩展名保存,可能表示用户界面。
请注意,所有字母均为小写。这是与其他参数一起使用的批处理命令,用于在CMD提示符下将“ xml”文件转换为可执行的“ python”文件。这实际上是一个名为'pyuic4.bat'的批处理文件。它位于Qtdesigner所在的相同位置。
不要忘记检查它的位置是否已添加到环境变量的路径中。如果没有将其添加到此处(否则,在CMD提示符下使用该批处理文件时,您需要提供该批处理文件的完整路径)。您可以在记事本中检查其文件内容。这是此批处理文件的内容:'@“ C:\ Python34 \ python”“ C:\ Python34 \ Lib \ site-packages \ PyQt4 \ uic \ pyuic.py”%1%2%3%4%5% 6%7%8%9'
注意:您无需深入研究此批处理文件。如果您错误安装了错误的版本,则在此提供其内容。那么有时对该文件进行修改可以以某种方式帮助您。但是,最好选择正确的版本。
PS:我之所以专注于此,是因为我被这些东西困住了3个月或更长时间,而且没人在那里帮助我。甚至没有Google或YouTube;好吧,那是我当时的个人经历。现在有足够的资源可用。您也可以访问我的YouTube频道“ UB Vzard”,获取其视频指南和PyQT旅程。:)
使用此命令的语法
pyuic4 –x input.ui –o output.py
注意:输入和输出文件可以相同或不同,取决于用户。“ -x”表示输入文件,“-o”表示输出文件。
打开存在“ xml”文件的命令提示符,否则,您需要提供输入和输出文件的完整路径。
特别提示:
如果您想跳过此CMD内容,我可以为您提供另一种方式。制作自己的批处理文件,它将为您执行相同的任务。
步骤:
打开记事本
将此内容粘贴到此处:
@echo off
call pyuic4 -xinput.ui-o output.py
另存为:“ run.bat”
只需将此文件放在“ ui”文件的相同位置即可。根据需要在输入和输出文件中进行更正。
双击运行该批处理文件。万岁,您已经准备好了python文件。:)
概要
阅读本文后,您将非常熟悉后续文章中使用的技术和命令。Qtdesigner使您的工作变得更加简单和快捷。您只需要在末尾对python代码做很少的修改,即可获得一个非常个性化和有趣的项目。在了解有关pyuic4批处理文件的理论的同时,您会发现自己步调已定,摆脱了麻烦。并且,您还可以在遇到兼容性问题时自定义它。因此,现在您都可以继续阅读下一篇文章,并进行实际工作。到那里见,快乐学习!
本文向大家介绍使用Python和PyQT -2的Java打印“ Hello World”(实用),包括了使用Python和PyQT -2的Java打印“ Hello World”(实用)的使用技巧和注意事项,需要的朋友参考一下 第一个GUI程序(QtDesigner) 自从以来,我答应教给您一种更简单的方法。我说的是尽可能简单。让我们将其分为几个步骤: 使用Qtdesigner中的拖放工具设计GU
问题内容: 我正在尝试遵循有关打印QWidet的文档,但出现错误。当我运行以下代码时,我得到了。 如果我将print_me()方法更改为以下方法,它将起作用(当然,我只是失去了缩放画家的全部能力): 问题答案: 用于优化的QPainter不能同时应用所有任务,但会保留指令并在最后应用它们,但要强制执行该任务,最好调用end()方法或将其删除,因为销毁者还调用end() ,此外,QPainter不必
问题内容: 在Python中打印XML的最佳方法(或多种方法)是什么? 问题答案:
问题内容: 我正在尝试在PyQt中打印小部件,但收到“ QPaintDevice:无法销毁正在绘制的绘制设备”的错误。我认为问题是我的方法结束了,因此在绘画者完成绘制像素图之前,qPaintDevice被破坏了。但是,我不知道如何降低画家的速度。 我的方法的代码在这里: 对于它的价值,我尝试使用.begin()和.end()方法,但无济于事。 问题答案: 我发现了我的问题-我忘记了删除画家,这在事
问题内容: 像hellanzb这样的某些应用程序具有一种以动态刷新数据的形式打印到终端的方式,类似于top()。 python中最好的方法是什么?我已经阅读了日志记录和诅咒,但是不知道该使用什么。我正在创建top的重新实现。如果您还有其他建议,我也欢迎他们。 问题答案: 如果只需要更新一行(例如,创建进度条),最简单的方法是使用(回车)和: 如果您需要支持移动指针等的适当控制台UI,请使用标准库中
问题内容: 我正在尝试使用2个不同的线程交替打印奇数和偶数。我能够使用等待,通知和同步块来实现它,但是现在我想评估是否可以不使用等待,通知和同步来实现它。 以下是我拥有的代码,但无法正常工作: } 有任何想法吗? 根据Bruno的建议,我创建了另一个版本,该版本似乎效果更好: 问题答案: 代码未正确同步,这就是问题所在。 您的代码中允许以下执行顺序: 第一个线程看到,将其设置为并进入块。 第二个线