python--pyQt5 对话框使用(QInputDialog) PySide6

参考: https://www.cnblogs.com/XJT2018/p/10208710.html
https://blog.csdn.net/panrenlong/article/details/79948261
含参数详解: https://blog.csdn.net/zhulove86/article/details/52515460

一、简介

QInputDialog类提供了一个简单的便捷对话框,可以从用户那里获取用户录入的单个值,它提供了4种数据类型的输入;每个输入都包含一个提示标签,一个输入控件;还包括一个确定输入(Ok)按钮和一个取消输入(Cancel)按钮。

字符串型(方法=QInputDialog.getText)---- QLineEdit

Int类型数据(方法=QInputDialog.getInt)---- QSpinBox

double类型数据(方法=QInputDialog.getDouble)----

下拉列表框的条目(方法=QInputDialog.getItem)---- QComboBox

二、部分代码

2.1 字符串

def getText(self):text, okPressed = QInputDialog.getText(self, "Get text","Your name:", QLineEdit.Normal, "")if okPressed and text != '':print(text)

2.2 int

def getInteger(self):i, okPressed = QInputDialog.getInt(self, "Get integer","Percentage:", 28, 0, 100, 1)if okPressed:print(i)

2.3 double

def getDouble(self):d, okPressed = QInputDialog.getDouble(self, "Get double","Value:", 10.05, 0, 100, 10)if okPressed:print(d)

2.4 条目

def getDouble(self):d, okPressed = QInputDialog.getDouble(self, "Get double","Value:", 10.05, 0, 100, 10)if okPressed:print(d)

三、例子

例 1

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QInputDialog, QLineEdit
from PyQt5.QtGui import QIconclass App(QWidget):def __init__(self):super().__init__()self.title = 'PyQt5 input dialogs - pythonspot.com'self.left = 10self.top = 10self.width = 640self.height = 480self.initUI()def initUI(self):self.setWindowTitle(self.title)self.setGeometry(self.left, self.top, self.width, self.height)self.getInteger()self.getText()self.getDouble()self.getChoice()self.show()def getInteger(self):i, okPressed = QInputDialog.getInt(self, "Get integer", "Percentage:", 28, 0, 100, 1)if okPressed:print(i)def getDouble(self):d, okPressed = QInputDialog.getDouble(self, "Get double", "Value:", 10.50, 0, 100, 10)if okPressed:print(d)def getChoice(self):items = ("Red", "Blue", "Green")item, okPressed = QInputDialog.getItem(self, "Get item", "Color:", items, 0, False)if okPressed and item:print(item)def getText(self):text, okPressed = QInputDialog.getText(self, "Get text", "Your name:", QLineEdit.Normal, "")if okPressed and text != '':print(text)if __name__ == '__main__':app = QApplication(sys.argv)ex = App()sys.exit(app.exec_())

在这里插入图片描述

例 2

from PyQt5.QtWidgets import (QApplication, QWidget, QPushButton, QLabel, QInputDialog, QTextBrowser, QGridLayout)
import sys
from PyQt5.QtGui import QIconclass Example(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):self.setGeometry(500, 500, 500, 500)self.setWindowTitle("标准输入对话框")self.setWindowIcon(QIcon("11.ico"))gridLayout = QGridLayout()self.lb11 = QLabel("姓名:")self.lb12 = QLabel("xiong")self.btn1 = QPushButton("修改姓名")gridLayout.addWidget(self.lb11, 0, 0, 1, 1)gridLayout.addWidget(self.lb12, 0, 1, 1, 1)gridLayout.addWidget(self.btn1, 0, 2, 1, 1)self.lb21 = QLabel("年龄:")self.lb22 = QLabel("25")self.btn2 = QPushButton("修改年龄")gridLayout.addWidget(self.lb21, 1, 0, 1, 1)gridLayout.addWidget(self.lb22, 1, 1, 1, 1)gridLayout.addWidget(self.btn2, 1, 2, 1, 1)self.lb31 = QLabel("性别:")self.lb32 = QLabel("男")self.btn3 = QPushButton("修改性别")gridLayout.addWidget(self.lb31, 2, 0, 1, 1)gridLayout.addWidget(self.lb32, 2, 1, 1, 1)gridLayout.addWidget(self.btn3, 2, 2, 1, 1)self.lb41 = QLabel("身高(cm):")self.lb42 = QLabel("177.0")self.btn4 = QPushButton("修改身高")gridLayout.addWidget(self.lb41, 3, 0, 1, 1)gridLayout.addWidget(self.lb42, 3, 1, 1, 1)gridLayout.addWidget(self.btn4, 3, 2, 1, 1)self.lb51 = QLabel("基本信息:")self.textBrowser = QTextBrowser()self.btn5 = QPushButton("修改信息")gridLayout.addWidget(self.lb51, 4, 0, 1, 1)gridLayout.addWidget(self.textBrowser, 5, 0, 1, 3)gridLayout.addWidget(self.btn5, 4, 2, 1, 1)self.setLayout(gridLayout)self.btn1.clicked.connect(self.showDialog)self.btn2.clicked.connect(self.showDialog)self.btn3.clicked.connect(self.showDialog)self.btn4.clicked.connect(self.showDialog)self.btn5.clicked.connect(self.showDialog)def showDialog(self):sender = self.sender()if sender == self.btn1:text, ok = QInputDialog.getText(self, "修改姓名!", "请输入姓名:")if ok:self.lb12.setText(text)elif sender == self.btn2:text, ok = QInputDialog.getInt(self, "修改年龄!", "请输入年龄:", min=1)if ok:self.lb22.setText(str(text))elif sender == self.btn3:text, ok = QInputDialog.getItem(self, "修改性别!", "请输入性别:", ["男", "女", "人妖"])if ok:self.lb32.setText(text)elif sender == self.btn4:text, ok = QInputDialog.getDouble(self, "修改身高!", "请输入身高:", min=10.0)if ok:self.lb42.setText(str(text))elif sender == self.btn5:text, ok = QInputDialog.getMultiLineText(self, "修改信息!", "请输入基本信息:")if ok:self.textBrowser.setText(text)if __name__ == '__main__':app = QApplication(sys.argv)ex = Example()ex.show()sys.exit(app.exec_())

在这里插入图片描述

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

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

相关文章

深入浅出AI落地应用分析:AI音乐生成之「Suno.ai」

接下来会每周集中体验一些通用或者垂直的AI落地应用,主要以一些全球或者国外国内排行较前的产品为研究对象,「AI 产品榜: aicpb.com」以专题的方式在博客进行分享。 本节主要介绍和体验AI音乐生成应用产品Suno AI,Suno来自目前最…

HQL,SQL刷题简单查询,基础,尚硅谷

今天刷SQL简单查询,大家有兴趣可以刷一下 目录 相关表数据: 题目及思路解析: 总结归纳: 知识补充: 关于LIKE操作符/运算符 LIKE其他使用场景包括 LIKE模糊匹配情况 相关表数据: 1、student_info表 2、sc…

Unity中URP下获取主灯信息

文章目录 前言一、计算BulinnPhone的函数有两个重载1、 目前最新使用的是该方法(这是我们之后主要分析的函数)2、 被淘汰的老方法,需要传入一堆数据 二、GetMainLight1、Light结构体2、GetMainLight具有4个方法重载3、1号重载干了什么&#x…

主动轮廓——计算机视觉中的图像分割方法

​ 一、说明 简单来说,计算机视觉就是为计算机提供类似人类的视觉。作为人类,我们很容易识别任何物体。我们可以很容易地识别山丘、树木、土地、动物等,但计算机没有眼睛,也没有大脑,因此它很难识别任何图像。计算机只…

Linux下软件安装的命令【RPM,YUM】及常用服务安装【JDK,Tomcat,MySQL】

Linux下软件安装的命令 源码安装 以源代码安装软件,每次都需要配置操作系统、配置编译参数、实际编译,最后还要依据个人喜好的方式来安装软件。这个过程很麻烦很累人。 RPM软件包管理 RPM安装软件的默认路径: 注意: /etc 配置文件放置目录…

docker network网络

网络分类 bridge网络 bridge是docker默认网络模式,docker安装后会选择一个私有网段作为bridge的子网,在我们创建容器时默认会将容器网络加入到这个子网中。 原理:Docker Daemon(后台进程) 利用 veth pair 技术&#…

3dmax渲不出模型是什么原因---模大狮模型网

3DMax无法渲染模型可能有多种原因。以下是一些常见的问题和解决方法: 材质设置错误:检查模型的材质设置是否正确,包括纹理贴图的路径、UV映射是否正确等。确保材质的属性设置正确,如颜色、反射率、透明度等。 灯光设置问题&#…

【JS逆向学习】某壁纸下载(ast混淆)

逆向目标 目标网址:https://bz.zzzmh.cn/index逆向接口一:https://api.zzzmh.cn/bz/v3/getData逆向接口二:https://cdn2.zzzmh.cn/wallpaper/origin/0d7d8d691e644989b72ddda5f695aca2.jpg?response-content-dispositionattachment&aut…

AnimatedDrawings:让绘图动起来

老样子,先上图片和官网。这个项目是让绘制的动画图片动起来,还能绑定人体的运动进行行为定制。 快速开始 1. 下载代码并进入文件夹,启动一键安装 git clone https://github.com/facebookresearch/AnimatedDrawings.gitcd AnimatedDrawingspip…

react18介绍

改进已有属性,如自动批量处理【setState】、改进Suspense、组件返回undefined不再报错等 支持Concurrent模式,带来新的API,如useTransition、useDeferredValue等 如何升级React 18 npm install reactlatest react-domlatestnpm install ty…

VS2022 在非Qt项目中引用QString、QList等方法

目录 一、新建项目 二、拷贝 三、工程属性设置 四、测试 一、新建项目 在VS中创建了一个c控制台项目,会默认打印“Hello world”; 二、拷贝 需要拷贝的包括QtCore相关的lib, dll, 以及头文件; 1、lib文件 在下述qt安装路径下拷贝Qt5…

[设计模式Java实现附plantuml源码~创建型] 对象的克隆~原型模式

前言: 为什么之前写过Golang 版的设计模式,还在重新写Java 版? 答:因为对于我而言,当然也希望对正在学习的大伙有帮助。Java作为一门纯面向对象的语言,更适合用于学习设计模式。 为什么类图要附上uml 因为很…

07章【常用类库API】

字符串操作 String类 String可以表示一个字符串。String类实际是使用字符数组存储的。 String类的两种赋值方式: 一种称为直接赋值: String name “小白” 通过关键字new调用String的构造方法赋值 String name new String(“小白”)String类的两…

【Github】作为程序员不得不知道的几款Github加速神器

背景 众所周知,近几年国内用户在访问Github时,经常间歇性无法访问Github。 接下来推荐几款 作为程序员不得不知道的Github加速神器。 推荐1:FastGithub FastGithub是一款Github加速神器,解决github打不开、用户头像无法加载、r…

【数据结构和算法】--- 二叉树(3)--二叉树链式结构的实现(1)

目录 一、二叉树的创建(伪)二、二叉树的遍历2.1 前序遍历2.2 中序遍历2.3 后序遍历 三、二叉树节点个数及高度3.1 二叉树节点个数3.2 二叉树叶子节点个数3.3二叉树第k层节点个数3.4 二叉树查找值为x的节点 四、二叉树的创建(真) 一、二叉树的创建(伪) 在学习二叉树的基本操作前…

Unity Text超框 文字滚动循环显示

Unity Text超框 文字滚动循环显示 //container Text using System.Collections; using System.Collections.Generic; using Unity.VisualScripting; using UnityEngine; using UnityEngine.UI;public class AutoScrollText : MonoBehaviour {private Text[] _texts new Text[…

MATLAB字符串编辑常用代码

1.字符串赋值 % 字符串赋值 sabcdefg 2.字符串属性和操作 (1)获取字符串长度 sabcdefg;% 字符串赋值 length(a) % 获取字符串长度 (2)连接字符串 % 连接两个字符串,每个字符串最右边的空格被裁切 s1a s2b s3strcat(s1,s2) 3.字符串比较 % strcmp 比较两个字符串是…

9. UE5 RPG创建UI(下)

在上一篇文章里,制作了显示血量和蓝量的ui,并且还将ui和获取数据使用的控制器层创建出来并初始化成功。现在只有主用户控件上面被添加了控制器层,还未给每个用户控件赋予控制器层。接下来要实现对属性的广播功能,在属性值变化的时…

gitlab.rb主要配置

根据是否docker安装,进入挂载目录或安装目录 修改此文件,我一般是在可视化窗口中修改,有时候也在命令行手敲 将下面的配置复制到该文件中 external_url http://192.168.100.50 # nginx[listen_port] = 8000 (docker安装的这一行不需要,因为端口映射导致此处修改会导致访问…

2024茶饮品牌如何出圈,媒介盒子分析

随着新式茶饮的消费场景更加多元化,品类不断拓宽,消费者对新式茶饮的热情也是只增不减。居民可支配收入水平不断上升,居民消费升级为新式茶饮的发展也提供了良好基础,今天媒介盒子就来和大家聊聊:2024茶饮品牌如何出圈…