使用PyQt5和Qt Designer创建Python GUI应用程序系列(一)

作者 : 郭然 本文共2111个字,预计阅读时间需要6分钟 发布时间: 2020-05-9 共266人阅读
概述
本系列旨在教您如何使用PyQt5和Qt Designer创建简单的图形用户界面。PyQt5是一个Python模块,可让您快速开发GUI应用程序。它不仅可以创建简单的GUI,还可以很好地扩展到更复杂的GUI。
您将学到什么
  • 本系列资料包罗万象。学习完本教程后,您将学到并理解以下内容:

  • 如何使用Qt Designer创建GUI应用程序

  • 事件驱动的编程如何工作

  • 如何动态更改GUI的各个部分

  • 如何为可调整大小的GUI设置布局

必要条件

  • 这不是一个初学者教程,本系列也不会教Python语法。强烈建议您熟悉面向对象的原理

  • 中级编程知识

  • 使用Python 3语法的经验

在本文中,我们将学习如何使用Python模块PyQt5创建一个非常基本的GUI应用程序。

什么是PyQt5

PyQt5是python模块,可让您非常快速地构建GUI应用程序。通常将它与Tkinter进行比较,但有一些区别。主要的一项是开发GUI的速度。PyQt带有一个称为Qt-Designer的惊人工具,该工具是一个拖放界面,可根据您构建的GUI自动为您生成代码。这样可以更快地构建美观的应用程序。另一个区别是Tkinter默认带有Python
3+,必须在其中安装PyQt。

安装PyQt5

开始使用PyQt5的第一步是安装它。

为此,我们将需要使用pip。

打开命令提示符,然后尝试执行以下命令来安装PyQt5。

pip install pyqt5
pip install pyqt5-tools

创建一个基本的GUI应用

现在我们已经安装了PyQt,我们可以开始使用它了。

打开您最喜欢的文本编辑器,按照下面的代码进行操作。

我们将从导入必要的模块和类开始。

from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QApplication,  QMainWindow, QLabel

import sys

每当我们创建PyQt应用程序时,我们都需要定义一个QApplication。这是我们可以放置窗口和小部件的地方。

接下来,我们可以决定要在应用程序中使用什么。就我而言,我从创建QMainWindow开始。您可以将其视为一个容器,其中将容纳我们的所有小部件(按钮,标签等)。在下面,您可以看到我为窗口指定了大小和标题。

def main():
    app = QApplication(sys.argv)
    win = QMainWindow()
     win.setGeometry(300,300,600,400) # 设置窗口x,y,宽度,高度
     win.setWindowTitle("Linux公社www.linuxidc.com")# 设置窗口标题

现在,我们有了一个带有标题的窗口。现在该添加一些东西了。为了我们的目的,请从小处开始并添加标签(在以后的教程中,我们将添加更多内容)。

要添加标签,我们将创建一个标签并告诉PyQt它应该去哪里。接下来,我们将在标签和位置上设置文本。

    label = QLabel(win)
    label.setText("my first label")
    label.move(100, 100)  # x, y从左上角开始。

如果现在要看到标签( label),则需要显示窗口。

win.show()


这里是有关如何在pyqt窗口中放置项目的简要说明。在代表图形(0,0)中,或原点位于中间或左下角。增加Y值会使点向上移动,增加X值会使点向右移动。但是,在pyqt和许多GUI框架(0,0)中是右上方。这意味着增加Y实际上会使点向下移动。

退出程序

为了确保我们所谓的clean exit(一个没有错误的退出),我们需要在函数底部添加以下行。

    sys.exit(app.exec_())

完整代码

from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QApplication,  QMainWindow, QLabel
import sys

def main():
    app = QApplication(sys.argv)
    win =  QMainWindow()
    win.setGeometry(300,300,600,400)
     win.setWindowTitle("Linux公社www.linuxidc.com")

    label =  QLabel(win)
    label.setText("Linux公社")
    label.move(280,  150)

    label1 = QLabel(win)
    label1.setText("www.linuxidc.com")
     label1.adjustSize();
    label1.move(260, 180)

    win.show()
    sys.exit(app.exec_())

main()  # 确保调用该函数
运行结果如下:
在下一个教程中,我们将讨论按钮和事件。
使用PyQt5和Qt
Designer创建Python GUI应用程序
https://www.linuxidc.com/search.aspx?where=nkey&keyword=65658

本文永久更新链接地址https://www.linuxidc.com/Linux/2020-05/163123.htm

支持就点下在看转发朋友圈
赞赏

微信赞赏支付宝赞赏

VIP部落提供编程技术、教育培训、优惠购物以及各类软件和网站源码、模板等资源下载。
VIP部落 » 使用PyQt5和Qt Designer创建Python GUI应用程序系列(一)

常见问题FAQ

提供最优质的资源集合

立即查看 了解详情