PyQt5 GUI编程

这篇具有很好参考价值的文章主要介绍了PyQt5 GUI编程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.PyQt5简介

PyQt5是一个用于创建图形用户界面(GUI)应用程序的跨平台工具集,它将Qt库(广泛用于C++编程语言中创建丰富的GUI应用程序)的功能包装给Python使用者。PyQt5是由Riverbank Computing开发的,并且可以在所有主流操作系统上运行,包含Windows、macOS和Linux。

PyQt5包括了超过620个类和6000个函数和方法。这个框架支持包括SQL数据库、线程、Unicode、正则表达式、网络编程等高级功能。除了GUI功能外,PyQt5还允许用户访问Qt的模型/视图架构和QML(Qt Modeling Language),这是一种专门为创建动态和自定义用户界面而设计的语言。

二.环境搭建

1.终端使用pip安装PyQt5库

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple PyQt5

2.如果出现Could not build wheels for PyQt5_sip, which is required to install pyproject.toml-based projects报错信息

PyQt5 GUI编程

 3.先安装 Visual Studio 后再安装PyQt5即可,终端执行如下指令

wget https://aka.ms/vs/17/release/vs_BuildTools.exe -o vs_BuildTools.exe ; cmd /c vs_BuildTools.exe

勾选C++/CLI后安装就行

PyQt5 GUI编程

三.基本用法

1.PyQt5常见的模块

QApplication 这个类管理GUI应用程序的控制流和主要设置,并且是每个PyQt5应用程序中必须有的部分
QWidget 所有用户界面对象的基类。当你想创建一个自定义的窗口时,你会使用或者继承这个类
QLabel 用于展示文本或图片的类
QtCore  其他模块使用的核心非 GUI 类
QAction 用于处理菜单栏、工具栏或快捷键等的动作。
QtSql 使用 SQL 进行数据库集成的类
QtXml 处理 XML 的类
QSlider 滑动条,让用户通过滑动选择一个数值。

 文章来源地址https://www.toymoban.com/news/detail-841472.html

2.一个简单的窗口创建

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import QWidget, QLabel, QMessageBox, QApplication


def windows():
    # 创建一个 QApplication 类的应用程序对象
    app = QApplication(sys.argv)
    # 基于QWidget类声明窗口
    w = QWidget()
    # 添加一个QLabel对象,并将标签添加“helloworld”文本。
    b = QLabel(w)
    b.setText("Hello World!")
    # 设置文本控件在窗口中的位置(x,y)
    b.move(50, 50)
    # 设置label控件的长和宽
    b.resize(100,20)
    # 设置字体样式大小
    font = QFont()
    font.setFamily("Arial")  # 字体样式,中文英文都可(“楷体”)
    font.setPointSize(20)  # 字体大小
    b.setFont(font)
    # 通过 setGeometry() 方法定义窗口的大小和位置(x,y,w,h)
    w.setGeometry(100, 100, 500, 1000)
    # 设置窗口标题
    w.setWindowTitle("PyQt5")

    # 显示窗口
    w.show()
    # 进入应用程序的主循环app.exec_()方法(窗口一直显示)
    sys.exit(app.exec_())


if __name__ == '__main__':
    windows()

备注写的很详细了,这里就不一一介绍每行代码的意思了。

3.窗口icon设置

import sys
from PyQt5.QtGui import *
from PyQt5.QtWidgets import QWidget, QApplication  # 导入尽量用具体类,不用*


class Window(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.initUI()
        self.setGeometry(100, 100, 500, 500)
        self.setWindowTitle("PyQt5")

    # 设置icon
    def initUI(self):
        self.setWindowIcon(QIcon('./2.jpg'))  # 设置窗口左上角icon

def main():
    app = QApplication(sys.argv)
    ex = Window()
    ex.show()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

上述代码中,我们在initUI函数中,调用父类setWindowIcon()方法去设置窗口icon,在Window类中初始化时去调用initUI函数来实现设置icon。

4.QLabel控件

    def qlabel(self):
        font = QFont()
        font.setFamily("Arial")
        font.setPointSize(16)
        label = QLabel(self)
        label.setText("Hello World")  # 设置文本
        label.setFont(font)  # 设置文本字体类型及大小
        label.move(50, 20)  # 控件在窗口的位置

这里和如上写法一致,在Window类中写一个qlabel函数,里面去调用QLabel,再在Window类中初始化时调用这个函数即可(使用QLabel模块时需提前导入该模块),我们来看下结果。

PyQt5 GUI编程

5.tips信息提示框

    def tips(self):
        # 创建一个按钮控件
        btn = QPushButton('Button', self)
        # 设置文本字体及大小
        btn.setFont(QFont('SansSerif', 50))
        # 设置tips
        btn.setToolTip('This is a widget')
        # 设置按钮在窗口的位置
        btn.move(100, 100)

效果如下,鼠标悬浮在button上时,会出现tips信息弹框。

PyQt5 GUI编程

6.关闭二次确定弹框

主动关闭窗口(即点击窗口右上角X),弹出二次确定弹框,提示是否关闭。

import sys
from PyQt5.QtGui import *
from PyQt5.QtWidgets import QWidget, QApplication, QMessageBox, QDesktopWidget  # 导入尽量用具体类,不用*


class Window(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.initUI()
        self.setGeometry(100, 100, 500, 500)
        self.setWindowTitle("PyQt5")
        self.center()

    # 设置icon
    def initUI(self):
        self.setWindowIcon(QIcon('./2.jpg'))

    def closeEvent(self, event):  # 关闭二次确定弹框
        reply = QMessageBox.question(self, '是否关闭',
                                     "Are you sure to quit?", QMessageBox.Yes, QMessageBox.No)

        if reply == QMessageBox.Yes:
            event.accept()  # 关闭窗口
        else:
            event.ignore()  # 不关闭

    def center(self):  # 设置窗口居中
        qt = self.frameGeometry()   # 获取需要操作的窗口位置,长宽(即设置的setGeometry)
        cp = QDesktopWidget().availableGeometry().center()  # 获取电脑分辨率
        qt.moveCenter(cp)  # 获取电脑中间位置
        self.move(qt.topLeft())  # 将窗口移动到中间位置


def main():
    app = QApplication(sys.argv)
    ex = Window()
    ex.show()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

上述代码中重写了父类中的closeEvent方法,通过QMessageBox.question()来获取用户行为,event.accept()来确定关闭窗口。

PyQt5 GUI编程

7.关闭窗口事件

    def clos(self):
        qbtn = QPushButton('Quit', self)  # 创建一个按钮
        qbtn.clicked.connect(QCoreApplication.instance().quit)  # 回调关闭事件
        qbtn.setToolTip("点击关闭窗口")  # tips提示
        qbtn.move(0, 0)

如下图效果,鼠标点击Quit按钮后窗口关闭,其效果和关闭按钮X一致。

PyQt5 GUI编程

8.菜单栏和工具栏

QMainWindow用于创建主应用程序窗口的类。它是 QWidget 的一个子类,提供了创建具有菜单栏、工具栏、状态栏等的主窗口所需的功能。

1)状态栏

import sys
from PyQt5.QtWidgets import QMainWindow, QApplication

class Example(QMainWindow):

    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setGeometry(100, 100, 500, 500)
        self.setWindowTitle('Statusbar')
        self.statusBar().showMessage("状态栏")  # 设置状态栏

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    ex.show()
    sys.exit(app.exec_())

状态栏的设置很简单,通过调用QMainWindow的statusBar()方法创建状态栏,showMessage()来设置状态栏显示的文本。

PyQt5 GUI编程

2)菜单栏

    def bar(self):
        action = QAction(QIcon('./2.jpg'), '登录', self)  # 创建QAction实例
        action.setShortcut('Ctrl+a')  # 设置快捷键操作
        action.setStatusTip('登录')  # 状态栏提示,窗口的左下角出现,鼠标悬停在选项上会出现
        action.triggered.connect(qApp.quit)  # 点击事件后回调的方法(qApp.quit关闭窗口)

        menubar = self.menuBar()  # 创建一个菜单栏
        menu = menubar.addMenu('File')  # 设置菜单栏tab

        menu.addAction(action)  # 关联事件

用过menuBar()创建一个菜单栏,并添加addMenu()tab项,通过addAction()添加QAction行为动作,具体效果如下。

PyQt5 GUI编程

 triggered.connect(qApp.quit)设置了触发动作后回调事件,即点击登录选项或快捷键Ctrl+A时会触发qApp.quit关闭窗口。上诉中我们只创建了一个菜单栏并只绑定了一个QAction如果想要多个菜单栏多个动作,可以创建多个addMenu(),下面看下具体实例。

   def bar(self):
        action = QAction(QIcon('./2.jpg'), '登录', self)  # 创建QAction实例
        action.setShortcut('Ctrl+a')  # 设置快捷键操作
        action.setStatusTip('登录')  # 状态栏提示,窗口的左下角出现,鼠标悬停在选项上会出现
        action.triggered.connect(qApp.quit)  # 点击事件后回调的方法(qApp.quit关闭窗口)

        action1 = QAction(QIcon('./2.jpg'), '登录', self)  # 创建QAction实例
        action1.setShortcut('Ctrl+a')  # 设置快捷键操作
        action1.setStatusTip('退出')  # 状态栏提示,窗口的左下角出现,鼠标悬停在选项上会出现
        action1.triggered.connect(qApp.quit)  # 点击事件后回调的方法(qApp.quit关闭窗口)

        menubar = self.menuBar()  # 创建一个菜单栏
        menu = menubar.addMenu('File')  # 设置菜单栏tab
        menubar1 = self.menuBar()  # 创建一个菜单栏
        menu1 = menubar1.addMenu('File1')  # 设置菜单栏tab

        menu.addAction(action)  # 关联事件
        menu.addAction(action1)  # 关联事件

3)子菜单栏

上面我们只是实现了一级菜单栏,那么在需求中要求创建二级,三级或者多级菜单,此时就需要用到QMenu()来创建下拉菜单栏了,我们先来看下二级菜单栏的创建。

    # 创建子菜单
    def bar_z(self):
        menubar = self.menuBar()  # 创建菜单栏
        menu = menubar.addMenu('File')  # 设置菜单栏tab

        newmenu = QMenu('一级下拉框', self)  # 创建一个下拉菜单
        impAct = QAction('二级目录', self)  # 设置一个动作
        impAct.triggered.connect(self.btn)  # 点击事件后回调的方法
        newmenu.addAction(impAct)  # 添加动作到下菜单中

        newact = QAction('一级目录', self)  # 创建动作

        menu.addAction(newact)  # 添加动作到菜单栏
        menu.addMenu(newmenu)  # 添加下拉菜单到菜单栏

    def btn(self):
        # 创建一个按钮控件
        btn = QPushButton('Button', self)
        # btn.setGeometry(100, 100, 80, 30)
        btn.move(100, 100)
        btn.setToolTip("button")
        btn.show()

PyQt5 GUI编程

 如果我们想创建三级目录甚至更多级的目录,可以创建多个下拉菜单栏,并通过addMenu()添加进去,下面看下具体实现。

# 创建子菜单
    def bar_z(self):
        menubar = self.menuBar()  # 创建菜单栏
        menu = menubar.addMenu('File')  # 设置菜单栏tab

        newmenu1 = QMenu('二级下拉框', self)  # 创建一个下拉菜单
        impAct1 = QAction('三级目录', self)  # 设置一个动作
        impAct1.triggered.connect(self.btn)  # 点击事件后回调的方法
        newmenu1.addAction(impAct1)  # 添加动作到下菜单中

        newmenu = QMenu('一级下拉框', self)  # 创建一个下拉菜单
        impAct = QAction('二级目录', self)  # 设置一个动作
        impAct.triggered.connect(self.btn)  # 点击事件后回调的方法
        newmenu.addAction(impAct)  # 添加动作到下菜单中
        newmenu.addMenu(newmenu1)  # 添加下拉菜单栏到二级菜单下

        newact = QAction('一级目录', self)  # 创建动作

        menu.addAction(newact)  # 添加动作到菜单栏
        menu.addMenu(newmenu)  # 添加下拉菜单到菜单栏

PyQt5 GUI编程

4)带复选框的菜单

    def bar_checkable(self):
        menubar = self.menuBar()
        bar_menu = menubar.addMenu('View')  # 添加菜单栏
        statact = QAction('复选框', self, checkable=True)  # 创建一个可以勾选的动作
        statact.setStatusTip('View statusbar')
        statact.setChecked(True)  # 设置默认选中
        statact.triggered.connect(self.menu)
        bar_menu.addAction(statact)
    def menu(self, state):
        if state:
            print("勾选后执行的事件")  # 勾选了
        else:
            print("取消勾选执行的事件")  # 取消勾选

QAction()中,checkable=True表示可以勾选的动作。

PyQt5 GUI编程

5)右键栏

鼠标悬浮再窗口上,右击打开的菜单栏,此功能需要重写父类中contextMenuEvent()方法,看下代码演示。

    def contextMenuEvent(self, event):
        rightmenu = QMenu(self)  # 创建一个下拉菜单
        # 添加动作
        d = rightmenu.addAction("打印")
        q = rightmenu.addAction("退出")
        ture = rightmenu.addAction("确定")
        action = rightmenu.exec_(self.mapToGlobal(event.pos()))  # exec_()显示菜单。获取动作行为
        if action == d:
            self.btn()
        elif action == q:
            qApp.quit()  # 关闭窗口
        else:
            print("无确定内容")

6)工具栏

工具栏可以理解为是多个动作的集合,可以将多个QAction()添加展示出来。

    def bar_tool(self):  # 多个动作集合
        action = QAction("工具1",self)
        action2 = QAction("工具2",self)
        action.setStatusTip("点击退出")
        action.triggered.connect(qApp.quit)
        toolbat = self.addToolBar("工具栏")  # 创建一个工具栏
        toolbat.addAction(action)  # 将动作添加到工具栏
        toolbat.addAction(action2)  # 将动作添加到工具栏

PyQt5 GUI编程

7)主窗口显示

这个就不做过多介绍,在初始__init__中调用上诉几种方法即可,默认菜单栏在最顶部,添加的动作会更加调用的先后从左到右排列,工具栏默认在菜单栏下发,这里只看下效果截图。

PyQt5 GUI编程

 9.页面布局

1)坐标布局

PyQt5 GUI编程PyQt5 GUI编程
import sys

from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QLabel, QApplication, QWidget


class Example(QWidget):

    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setGeometry(100, 100, 500, 500)
        self.setWindowTitle('Statusbar')
        q1 = QLabel("quit", self)
        q2 = QLabel("quit2", self)
        q3 = QLabel("quit3", self)
        q1.move(20, 20)  # 坐标布局
        q2.move(20, 80)  # 坐标布局
        q3.move(20, 140)  # 坐标布局


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    ex.show()
    sys.exit(app.exec_())
坐标布局

 上述中通过move(x, y)方法来设置qlable的位置

PyQt5 GUI编程

2)界面比例布局

PyQt5 GUI编程PyQt5 GUI编程
import sys

from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QApplication, QPushButton, QHBoxLayout, QWidget


class Example(QWidget):

    def __init__(self):
        super().__init__()
        self.initUI()
        self.button()

    def initUI(self):
        self.setGeometry(100, 100, 500, 500)
        self.setWindowTitle('Statusbar')

    def button(self):  # 比例布局
        ok = QPushButton("ok")  # 创建三个按钮
        cancel = QPushButton("cancel")
        cancel1 = QPushButton("cancel1")

        hbox1 = QHBoxLayout()  # 创建一个水平布局
        hbox1.addWidget(ok)  # 添加按钮到水平布局中
        hbox1.addStretch(1)  # 设置水平比例间距

        hbox1.addWidget(cancel)  # 添加按钮到水平布局中
        hbox1.addStretch(1)  # 设置水平比例间距
        hbox1.addWidget(cancel1)
        hbox1.addStretch(6)

        self.setLayout(hbox1)  # 添加到布局器


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    ex.show()
    sys.exit(app.exec_())
水平布局

上面代码中通过QHBoxLayout() 创建一个水平布局,addWidget()将按钮添加到布局中,再通过addStretch()来设置比例间距,可以看到设置的比例为1:1:6

PyQt5 GUI编程

PyQt5 GUI编程PyQt5 GUI编程
import sys

from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QApplication, QPushButton, QHBoxLayout, QVBoxLayout, QWidget


class Example(QWidget):

    def __init__(self):
        super().__init__()
        self.initUI()
        self.button()

    def initUI(self):
        self.setGeometry(100, 100, 500, 500)
        self.setWindowTitle('Statusbar')

    def button(self):  # 比例布局
        ok = QPushButton("ok")  # 创建三个按钮
        cancel = QPushButton("cancel")
        cancel1 = QPushButton("cancel1")

        hbox = QHBoxLayout()  # 创建一个水平布局
        hbox.addStretch(1)  # 设置水平比例间距(只设置一个stretch,会将按钮挤到最右侧。若stretch写在addWidget下面,则按钮会被寄到最左侧)
        hbox.addWidget(ok)  # 添加按钮到水平布局中
        hbox.addWidget(cancel)

        vbox = QVBoxLayout()  # 创建一个垂直布局
        vbox.addStretch(1)  # 设置垂直比例间距(只设置一个stretch,会将按钮挤到最下面。若stretch写在addlayout下面,则按钮会被寄到最下面)
        vbox.addLayout(hbox)  # 将刚刚创建的水平布局添加到垂直布局中

        self.setLayout(vbox)  # 将垂直布局加到布局器中(按钮位于页面右下角)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    ex.show()
    sys.exit(app.exec_())
垂直布局

PyQt5 GUI编程

3)栅格化布局

PyQt5 GUI编程PyQt5 GUI编程
import sys

from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QApplication, QPushButton, QWidget, QGridLayout


class Example(QWidget):

    def __init__(self):
        super().__init__()
        self.initUI()
        self.Grid()

    def initUI(self):
        self.setGeometry(100, 100, 500, 500)
        self.setWindowTitle('Statusbar')

    def Grid(self):  # 栅格化的按钮
        grid = QGridLayout()  # 创建一个栅格化布局
        name = ["7", "8", "9", "/",
                "4", "5", "6", "x",
                "1", "2", "3", "-",
                "清除", "0", ".", "="]
        # 列表推导式
        pos = [(x, y) for x in range(4) for y in range(4)]
        for names, p in zip(name, pos):  # 同时迭代两个序列
            button = QPushButton(names)  # 创建按钮
            grid.setSpacing(10)  # 设置各个单元格之间的间距
            grid.addWidget(button, *p)  # 添加到栅格化布局中
        self.setLayout(grid)  # 将栅格化布局加到布局器


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    ex.show()
    sys.exit(app.exec_())
栅格化布局

效果图

PyQt5 GUI编程

 栅格化布局理论上也是通过坐标来定位的,通过列表推导式可到得到几个坐标(0,0)(0,1)(0,2)(1,0)(1,1)(1,2)..........,然后再通过坐标去逐个添加。

4)实例

PyQt5 GUI编程PyQt5 GUI编程
import sys

from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QLabel, QApplication,QWidget, QGridLayout, \
    QLineEdit, QTextEdit


class Example(QWidget):

    def __init__(self):
        super().__init__()
        self.initUI()
        self.input()

    def initUI(self):
        self.setGeometry(100, 100, 500, 500)
        self.setWindowTitle('Statusbar')

    def input(self):
        grid = QGridLayout()

        # 设置标签
        title = QLabel("title")
        Author = QLabel("Author")
        Review = QLabel("Review")

        # 设置输入框
        titleEdit = QLineEdit()  # 行编辑
        authorEdit = QLineEdit()
        reviewEdit = QTextEdit()  # 文版编辑

        grid.setSpacing(10)  # 设置间距

        grid.addWidget(title, 0, 0)
        grid.addWidget(titleEdit, 0, 1)
        grid.addWidget(Author, 1, 0)
        grid.addWidget(authorEdit, 1, 1)
        grid.addWidget(Review, 2, 0)
        grid.addWidget(reviewEdit, 2, 1)

        self.setLayout(grid)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    ex.show()
    sys.exit(app.exec_())
实例

上述中实例通过QGridLayout()来将QLabel(), QLineEdit(行编辑)  ,QTextEdit(文版编辑) 进行的整合使用,下面看下结果。

PyQt5 GUI编程

四.实例

 以一个简单计算器功能为例,先来看下代码实现和效果展示

PyQt5 GUI编程PyQt5 GUI编程
import sys

from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QApplication, QPushButton, QWidget, QGridLayout, \
    QLineEdit


class Example(QWidget):

    def __init__(self):
        super().__init__()
        self.initUI()
        self.Grid()

    def initUI(self):
        self.setGeometry(100, 100, 500, 500)
        self.setWindowTitle('Statusbar')

    def Grid(self):  # 栅格化的按钮
        grid = QGridLayout()
        hbox = QLineEdit()
        grid.addWidget(hbox, 0, 0, 1, 4)
        name = [
            "7", "8", "9", "/",
            "4", "5", "6", "*",
            "1", "2", "3", "-",
            "清除", "0", ".", "="]
        # 列表推导式
        pos = [(x, y) for x in range(1,5) for y in range(4)]
        for names, p in zip(name, pos):  # 同时迭代两个序列
            if names == "":
                continue
            elif names == "hbox":
                grid.addWidget(hbox, *p)
            else:
                button = QPushButton(names)
                grid.addWidget(button, *p)
                button.clicked.connect(lambda checked, btn_text=names: on_button_clicked(btn_text))
            grid.setSpacing(10)  # 设置各个单元格之间的间距

        self.setLayout(grid)

        def on_button_clicked(btn_text):
            try:
                if btn_text == "清除":
                    hbox.clear()
                elif btn_text == "=":
                    str_num = eval(hbox.text())
                    hbox.clear()
                    hbox.insert(str(str_num))
                else:
                    hbox.insert(btn_text)
            except:
                hbox.insert("error")


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    ex.show()
    sys.exit(app.exec_())
计算器

PyQt5 GUI编程

 使用addWidget将输入框添加到栅格化布局中,后面无个参数分别表示:(添加对象,x位置,y位置,占据的单元格高度,占据的单元格宽度)。

grid.addWidget(hbox, 0, 0, 1, 4)

QLineEdit()几个常用的方法

        hbox = QLineEdit()
        hbox.setText("默认文案")  # 设置默认文案
        hbox.setPlaceholderText("暗文")  # 当输入框内容为空时显示该文案
        hbox.insert("243")  # 添加
        print(hbox.text())  # 获取框内容
        hbox.clear()  # 清空

五.打包

可参考:https://www.cnblogs.com/lihongtaoya/p/17349911.html

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

文章来源:https://www.cnblogs.com/lihongtaoya/ ,请勿转载

到了这里,关于PyQt5 GUI编程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据库系统课设——基于python+pyqt5+mysql的酒店管理系统(可直接运行)--GUI编程(2)

     几个月之前写的一个项目,通过这个项目,你能学到关于数据库的触发器知识,python的基本语法,python一些第三方库的使用,包括python如何将前后端连接起来(界面和数据),还有界面的设计等等。希望大家能从项目中学到东西。 宾馆管理系统通过提供顾客和员工信息之间

    2024年02月03日
    浏览(47)
  • python3GUI--仿做一个网易云音乐(第三弹v2.0)By:PyQt5(附下载地址)

    传送门: python3GUI–仿做一个网易云音乐By:PyQt5(附下载地址) python3GUI–仿做一个网易云音乐(第二弹v1.5)By:PyQt5(附下载地址) 本篇为模仿网易云音乐2.0篇,是本系列最后一篇,本篇继续在v1.5基础上进行改进,尽最大努力模仿网易云音乐播放器UI,本篇将全方面介绍咱们的“

    2024年02月15日
    浏览(66)
  • 最新版本VSCode配置Python、PyQt5、QtDesigner环境并创建一个ui界面测试

    参考链接:最新版本VSCode配置Python、PyQt5、QtDesigner环境并创建一个ui界面测试 一、安装Python3 PyQt5所支持的python版本是从3.5开始的,因此安装的Python3版本必须大于3.5。 我安装的位置是C:PythonPython38。 参见真小白入门Pyhton的安装 二、安装PyQt5以及PyQt5-tools(这里面就有designer了

    2024年02月08日
    浏览(38)
  • [Python GUI PyQt] PyQt5快速入门

    本文为博主个人对自己学习 PyQt5 GUI技术的纲要式的总结,主要的目的是以比较宏观的视角再次对 PyQt5 这一项技术作一次总结,通过该文可以快速让读者建立起 PyQt5 最基本的知识体系,了解 PyQt5 的 基本界面的设计 、 信号与槽 和 多线程 等知识,并简单学会使用 Qt Designer 工

    2024年04月15日
    浏览(39)
  • python GUI工具之PyQt5模块,pyCharm 配置PyQt5可视化窗口

    https://doc.qt.io/qt-5/qtwidgets-module.html https://doc.qt.io/qt-5/qt.html#AlignmentFlag-enum 一、简介 PyQt是Qt框架的Python语言实现,由Riverbank Computing开发,是最强大的GUI库之一。PyQt提供了一个设计良好的窗口控件集合,每一个PyQt控件都对应一个Qt控件。 PyQt5是由一系列Python模块组成,有超过6

    2024年02月11日
    浏览(40)
  • Python GUI文章合集(PyQt5)

    我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈 入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈 虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈 PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈 Oracle数据库教程:👉👉 Oracle数据库文章合

    2024年02月12日
    浏览(29)
  • 基于PyQt5GUI的人脸识别系统设计与实现

    目 录 前 言 1 第 1 章 人脸识别系统概述 1 第 2 章 人脸检测技术 1 §2.1 基于 Harr 级联的人脸检测 2 §2.2 基于 face_recognition 开源库的人脸检测… 错误!未定义书签。第 3 章 人脸识别技术 5 §3.1 构造人脸数据集 5 §3.2 模型训练 7 §3.3 实时人脸识别 9 第 4 章 基于 PyQt5 的应用平台 1

    2024年02月04日
    浏览(36)
  • Python GUI设计-PyQt5从入门到实践(第1-3章)

    良好的开端,等于成功的一半 ————柏拉图 1.1.3 Python的应用领域 Web开发、大数据处理、人工智能、自动化运维开发、云计算、爬虫、游戏开发。 Python ,PyCharm,模块:pyqt5、pyqt5-tools、pyqt5designer 2.3.1 安装Pyqt5及设计器 Pycharm:file–settings 安装三个包。 2.3.2 配置PyQt5设计器

    2024年02月12日
    浏览(34)
  • python3GUI--图片浏览器By:PyQt5(附源码)

    本次使用PyQt5开发一款图片浏览器,本篇主要练习QDockWidget、QTreeWidget,软件打包好放在了文末,可自取。 点击“添加目录”后,选择目录,软件会扫描文件夹及子文件夹下的所有图片文件,最后展示到左侧的目录树中。 支持多级目录图片展示 右击文件,点击查看文件信息

    2024年02月16日
    浏览(55)
  • python3GUI--做一款某雷影音播放器By:PyQt5

    新版本已发布,支持弹幕请移步:https://blog.csdn.net/a1397852386/article/details/127952142?spm=1001.2014.3001.5502 本次使用PyQt5开发一款视频播放器,支持本地视频文件播放、在线视频播放,支持解析播放B站视频,撰写本篇用来记录一下开发过程。 本软件是在Windows系统上使用PyQt5开发的视频

    2024年02月12日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包