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

相关推荐
LDR0062 小时前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术2 小时前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
码云数智-园园2 小时前
C++20 Modules 模块详解
java·开发语言·spring
swordbob2 小时前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
源分享3 小时前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm
Luminous.3 小时前
C语言--day30
c语言·开发语言
何以解忧,唯有..3 小时前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang
謓泽3 小时前
C语言不是语法,是通往机器的地图。
c语言·开发语言
云水一下3 小时前
从零开始学 PHP 系列(一):PHP 的前世今生与开发环境搭建
开发语言·php
飞天狗1114 小时前
零基础JavaWeb入门——第五课第二小节:九大内置对象 · 第2个:response(响应对象)
java·开发语言