Pyside6详细使用教程python之GUI开发

news2025/1/15 13:14:28

1、首先需要安装Pyside6,终端执行命令:

pip3.10 install pyside6

2、你们的一般是

pip install pyside6

2、如下代码创建一个简易程序导入必要的模块

import sys

from PySide6.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton, QLineEdit

定义一个自定义的应用程序类

class MyApp(QWidget):

    def __init__(self):
        # 调用父类的构造函数
        super().__init__()
        # 初始化用户界面
        self.init_ui()
    def init_ui(self):
        # 创建一个垂直布局
        layout = QVBoxLayout()
        # 创建一个输入框
        self.input_box = QLineEdit(self)
        layout.addWidget(self.input_box)
        # 创建一个按钮
        self.button = QPushButton('Print Input', self)
        layout.addWidget(self.button)
        # 将按钮的点击事件连接到自定义的槽函数
        self.button.clicked.connect(self.on_button_clicked)
        # 设置布局
        self.setLayout(layout)
        self.setWindowTitle('Input Printer')
        self.show()
        def on_button_clicked(self):
        # 获取输入框中的文本
        input_text = self.input_box.text()
        # 打印获取到的文本
        # 程序入口
        # 创建一个应用程序实例

if __name__ == '__main__':
        app = QApplication(sys.argv)
        # 创建自定义应用程序对象
        my_app = MyApp()
        # 运行应用程序并等待退出
        sys.exit(app.exec())

 

3、总结下这段代码,大概包括以下几个重要步骤:

1)找到需要交互的元素

2)找到要连接的信号

3)连接插槽

4、在命令窗口执行命令: pyside6-designer,然后会自动打开Qt Designer,

在打开的窗口点击创建,然后拖动左边的控件到打开的这个窗口上面,可以随意的推动,然后保存,

一般都会默认被保存到当前所在的文件夹目录,文件的名字可以取名叫xxx.ui

 

 

 

  5、命令窗口执行命令:

pyside6-uic my_ui.ui -o my_ui.py

执行完之后就会在当前路径生成一个my_ui.py文件

6、接下来从my_ui.py文件里面导入Ui_Dialog类,

from my_ui import Ui_Dialog

这样就可以愉快的玩耍啦,以下奉上代码

import sys

from PySide6.QtWidgets import QApplication, QWidget

from my_ui import Ui_Dialog

class MyApp(QWidget):

        def __init__(self):

        super().__init__()

        self.ui = Ui_Dialog()  # 创建 UI 对象

        self.ui.setupUi(self)  # 设置 UI

        # 按钮点击事件连接到槽函数

        self.ui.buttonBox.accepted.connect(self.on_button_clicked)

        self.setWindowTitle('Input Printer')

        self.show()

        def on_button_clicked(self):

        # 获取输入框中的文本

        # input_text = self.ui.lineEdit.text()

        # 打印文本

        print("Input Text:")

if __name__ == '__main__':

        app = QApplication(sys.argv)

        my_app = MyApp()

        sys.exit(app.exec())

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1641226.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

three.js入门指南

WebGL和Three.js的概念 什么是WebGL WebGL是基于OpenGL ES 2.0的Web标准,可以通过HTML5 Canvas元素作为DOM接口访问。 也就是WebGL是作为OpenGL的网页端入口。它作为一个底层标准,然后我们可以通过JavaScript代码,在网页上实现三维图形的渲…

重看Spring聚焦BeanDefinition分析和构造

目录 一、对BeanDefinition的理解 (一)理解元信息 (二)BeanDefinition理解分析 二、BeanDefinition的结构设计分析 (一)整体结构体会 (二)重要接口和类分析 三、构造 BeanDef…

JavaSE——正则表达式(1/2):概述、初步使用(普通方法,正则表达式)、书写规则(字符类,预定义字符,数量词,其他,特殊案例)

目录 概述 初步使用 普通方法 正则表达式 书写规则 字符类 预定义字符 数量词 其他 特殊案例 概述 正则表达式 就是由一些特定的字符组成,代表的是一个规则。 作用一:用来校验数据格式是否合法 (更简单、更便捷) 作…

C语言 | Leetcode C语言题解之第66题加一

题目: 题解: /*** Note: The returned array must be malloced, assume caller calls free().*/ int* plusOne(int* digits, int digitsSize, int* returnSize){for(int i digitsSize - 1; i > 0; --i){digits[i] digits[i] 1;//最后元素1判断是不…

SQL注入漏洞扫描---sqlmap

what SQLMap是一款先进的自动执行SQL注入的审计工具。当给定一个URL时,SQLMap会执行以下操作: 判断可注入的参数。判断可以用哪种SQL注入技术来注入。识别出目标使用哪种数据库。根据用户的选择,读取哪些数据库中的数据。 更详细语法请参考…

NIO和NIO.2对比

Java NIO (New Input/Output) 是从Java 1.4版本开始引入的一个新的I/O API,用于替代原来的BIO(Blocking I/O)API。NIO提供了更加灵活和高效的网络通信方式,特别适合于高吞吐量的网络编程。NIO的主要特点是非阻塞模式,它…

Spark Stream

一、Spark Streaming是什么 Spark Streaming 用于流式数据的处理。Spark Streaming 支持的数据输入源很多,例如:Kafka、Flume、Twitter、ZeroMQ 和简单的 TCP 套接字等等。数据输入后可以用 Spark 的高度抽象原语如:map、reduce、join、wind…

linux 服务器利用阿里网盘API实现文件的上传和下载

文章目录 背景脚本初始化 阿里云盘API工具 aligo安装aligoaligo教程实战parse.py 演示上传文件上传文件夹下载文件下载文件夹 背景 最近在用ubuntu系统做实验,而ubuntu 系统的文件上传和下载操作很麻烦; 于是便打算使用阿里网盘的API 进行文件下载与上传…

深度学习每周学习总结P7(咖啡豆识别)

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制 –来自百度网盘超级会员V5的分享 数据链接 提取码:7zt2 –来自百度网盘超级会员V5的分享 目录 0. 总结1. 数据导入及处理部分…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-10.1-NXP SDK 移植

前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

IDEA 多模块项目报错 Cannot Save Settings 问题

IDEA 多模块项目报错 Cannot Save Settings 问题 Cannot Save Settings: Module "spring_cloud_sentinel_demo" must not contain source root "D:\java_test\Intesij_idea\spring_cloud_sentinel_demo\order_service_rest\src\main\resources"…

一键去除衣物DeepNode合成软件下载

dn软件Windows版下载地址:点击下载 ai一键去除衣物(DeepNode)是一款非常好用的一键换装软件,它可以创造出不同的图像效果,还可以对人的面部特征进行微调,使用户的图片更有特色。软件中还有许多模板可以随意使用以供参考&#xff0…

高效时间序列分析的开源利器:QuestDB

QuestDB:探索数据的深度,加速决策的速度- 精选真开源,释放新价值。 概览 时序数据库(Time Series Database,简称TSDB)是一种专门设计和优化的数据库系统,用于高效地存储、管理和查询带有时间戳…

【neteq】tgcall的调用

G:\CDN\P2P-DEV\Libraries\tg_owt\src\call\call.cc基本是按照原生webrtc的来的:G:\CDN\P2P-DEV\tdesktop-offical\Telegram\ThirdParty\tgcalls\tgcalls\group\GroupInstanceCustomImpl.cpptg对neteq的使用 worker 线程创建call Call的config需要neteqfactory Call::CreateAu…

C语言-链表实现贪吃蛇控制台游戏

使用C语言和链表实现贪吃蛇游戏 一、引言 贪吃蛇游戏是一个经典的游戏,它的玩法简单而富有挑战性。在这个博客中,我将分享如何使用C语言和链表数据结构来自主实现贪吃蛇游戏。我会详细介绍游戏的设计思路、编码过程、遇到的问题及解决方案,…

PG控制文件的管理与重建

一.控制文件位置与大小 逻辑位置:pgpobal 表空间中 物理位置:$PGDATA/global/pg_control --pg_global表空间的物理位置就在$PGDATA/global文件夹下 物理大小:8K 二.存放的内容 1.数据库初始化的时候生成的永久化参数,无法更改…

Java项目:基于SSM框架实现的在线医疗服务系统(ssm+B/S架构+源码+数据库+毕业论文+开题报告)

一、项目简介 本项目是一套基于SSM框架实现的在线医疗服务系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单、功能…

基于小程序实现的投票评选系统

作者主页:Java码库 主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】:Java 【框架】:spring…

企业定制AI智能名片商城小程序:重塑营销场景,引领数字化营销新纪元

在数字化时代的浪潮中,多企业AI智能名片商城小程序以其独特的魅力和创新的功能,为消费者带来了前所未有的购物体验。它不仅是一个汇聚各类商品的购物平台,更是一个充满活力和创造力的社群生态。通过强化社群互动、鼓励用户生成内容以及引入积…

【Java从入门到精通】Java继承

继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父…