PyQt5使用

安装Pyqt5

cpp 复制代码
pip install pyqt5-tools

这时候我们使用纯代码实现一个简单的界面

python 复制代码
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton,  QPlainTextEdit

app = QApplication([])

window = QMainWindow()
window.resize(500, 400)
window.move(300, 310)
window.setWindowTitle('这是一个界面')

textEdit = QPlainTextEdit(window)
textEdit.setPlaceholderText("请输入")
textEdit.move(10,25)
textEdit.resize(300,350)

button = QPushButton('确认', window)
button.move(380,80)

window.show()

app.exec_()

信号与槽

不过多介绍概念

定义槽函数

python 复制代码
def handleCalc():
	QMessageBox.about(window,   '确认成功'       )

建立连接

点击信号

python 复制代码
button.clicked.connect(handleCalc)

使用可视化界面编辑UI (Pyside2)

安装

python 复制代码
pip install pyside2 

再对应用户下找到designer.exe

C:\Users\28322\AppData\Local\Programs\Python\Python37\Lib\site-packages\PySide2\designer.exe

打开之后

使用方法跟C++ qt一致 不过多介绍

ui生成之后的使用(两种方法)

1 ui转化为py文件 进行import

pyqt5

python 复制代码
pyuic5 main.ui > ui_main.py

转化完成之后调用

python 复制代码
import sys
from PyQt5 import QtWidgets, uic

from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *

from ui_main import Ui_Form
//ui_main是我转化过来的py文件 Ui_Form转化的类型 我转化的是Ui_Form 可以是Ui_MainWindow 

class MainWindow(QtWidgets.QMainWindow, Ui_Form):
    def __init__(self, *args, obj=None, **kwargs):
        super(MainWindow, self).__init__(*args, **kwargs)
        self.setupUi(self)

app = QtWidgets.QApplication(sys.argv)

window = MainWindow()
window.show()
app.exec()

2 动态调用UI文件

python 复制代码
from PyQt5 import uic

class Stats:

    def __init__(self):
        # 从文件中加载UI定义
        self.ui = uic.loadUi("GUI界面设计.ui")
app = QApplication([])
stats = Stats()
stats.ui.show()//原先是stats现在是stats.ui
app.exec_()

都可以进行界面的显示

内容取自

https://blog.csdn.net/IntMain45/article/details/110205762

相关推荐
charlie11451419114 分钟前
Android开发——初步了解AndroidManifest.xml
android·xml·开发语言·学习·安卓·安全架构
Edward.W27 分钟前
用 Go + HTML 实现 OpenHarmony 投屏(hdckit-go + WebSocket + Canvas 实战)
开发语言·后端·golang
钱彬 (Qian Bin)31 分钟前
一文掌握工业缺陷检测项目实战(Pytorch算法训练、部署、C++ DLL制作、Qt集成)
c++·pytorch·python·qt·实战·工业缺陷检测·faster rcnn
努力努力再努力wz39 分钟前
【c++进阶系列】:万字详解AVL树(附源码实现)
java·运维·开发语言·c++·redis
CHANG_THE_WORLD1 小时前
C++并发编程指南 std::promise 介绍与使用
java·开发语言·c++·promise
egoist20231 小时前
[linux仓库]性能加速的隐形引擎:深度解析Linux文件IO中的缓冲区奥秘
linux·运维·开发语言·缓存·缓冲区
Dear.爬虫1 小时前
Golang的协程调度器原理
开发语言·后端·golang
小菜全2 小时前
使用UniApp实现下拉框和表格组件页面
开发语言·前端·javascript·elementui·前端框架·html
编码浪子2 小时前
趣味学RUST基础篇(构建命令行程序1)
开发语言·后端·rust
周小码2 小时前
极快文本嵌入推理:Rust构建高性能嵌入推理解决方案
开发语言·后端·rust