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

相关推荐
EAIReport23 分钟前
国外网站数据批量采集技术实现路径
开发语言·python
超绝振刀怪24 分钟前
【C++可变模板参数】
开发语言·c++·可变模板参数
Freak嵌入式34 分钟前
MicroPython LVGL基础知识和概念:时序与动态效果
开发语言·python·github·php·gui·lvgl·micropython
2501_933329551 小时前
企业媒体发布与舆情管理实战:Infoseek舆情系统技术架构与落地解析
大数据·开发语言·人工智能·数据库开发
"菠萝"1 小时前
C#知识学习-021(文字关键字)
开发语言·学习·c#
minji...1 小时前
Linux 线程同步与互斥(二) 线程同步,条件变量,pthread_cond_init/wait/signal/broadcast
linux·运维·开发语言·jvm·数据结构·c++
zhangzeyuaaa1 小时前
Python 中的 Map 和 Reduce 详解
开发语言·python
游乐码1 小时前
c#HashTable
开发语言·c#
小白学大数据1 小时前
Scrapy 分布式爬虫:大规模采集汽车之家电车评论
开发语言·分布式·爬虫·scrapy