首页 > 编程语言 >python基础 - Qt5设计界面

python基础 - Qt5设计界面

时间:2024-06-23 21:54:30浏览次数:28  
标签:控件 Qt5 界面 python 方法 edit ui 文本 编辑框

1、Qt Designer环境搭建
1、安装PySide2库
cmd里运行 pip install PySide2 -i https://pypi.douban.com/simple --trustedhost pypi.douban.com
2、Pycharm关联Designer
File->Settings->Tools->External Tools,打开页面。
目的:用于快速设计、修改 ui 并生成 .ui 文件。
Program 填写:PySide2安装路径下的 designer.exe
路径
Working directory 填写:项目路径 $FileDir$

3、Pycharm关联PyUIC
D:\Tools\Python-3.6.6\Scripts\pyside2-uic.exe
$FileName$ -o $FileNameWithoutExtension$.py
$FileDir$

2、常用指令操作
1.QPushButton按钮
当按钮被点击就会发出 clicked 信号,可以这样指定
处理该信号的函数
代码中可以使用 setText 方法来改变按钮文本,比如
禁用启用按钮
2.QLineEdit单行文本框
获取文本
1 button.clicked.connect(函数)
1 button.setText(text)
1 button.setEnabled(False)
1 button.setEnabled(True)
1 text = editUrl.text()
通过 setPlaceholderText 方法可以设置提示文本内
容,比如
通过 setText 方法设置编辑框内的文本内容为参数里
面的文本字符串,原来的所有内容会被清除,比如
clear 方法可以清除编辑框内所有的文本内容,比如
3.QTextBrowser文本浏览框
通过 append 方法在编辑框末尾添加文本内容,比如
通过 insertPlainText 方法在编辑框末尾添加文本内
容,这种方法 不会 在添加文本后自动换行,比如
textBrowser.insertPlainText('hello world')
4.QComboBox组合选择框
代码中可以使用 addItem 方法来添加一个选项到 末尾
,参数就是选项文本
editUrl.setPlaceholderText('请在这里输入URL')
editUrl.setText('hello world')
editUrl.clear()
textBrowser.append('hello world')
代码中可以使用 addItems 方法来添加多个选项到 末
尾,参数是包含了多个选项文本的列表
代码中可以使用 clear 方法来清空选项,也就是删除选
择框内所有的选项
代码中可以使用 currentText 方法来获取当前 选中的
选项 的文本,比如
5.QPlainTextEdit多行的纯文本
编辑框
当文本框中的内容被键盘编辑,被点击就会发出
textChanged信号,可以这样指定处理该信号的函数
通过 toPlainText 方法获取编辑框内的文本内容,比如
boxMethod.addItem('get')
boxMethod.addItems(['GET','POST','PUT','DELETE'])
boxMethod.clear()
method = boxMethod.currentText()
edit.textChanged.connect(函数)
通过 setPlaceholderText 方法可以设置提示文本内容,比如
通过 setPlainText 方法设置编辑框内的文本内容 为
参数里面的文本字符串,比如
通过 appendPlainText 方法在编辑框末尾添加文本内
容,比如
通过 insertPlainText 方法在编辑框末尾添加文本内
容,这种方法 不会 在添加文本后自动换行,比如
clear 方法可以清除编辑框内所有的文本内容,比如
copy 方法可以清除编辑框内所有的文本内容,比如
text = edit.toPlainText()
edit.setPlaceholderText('请在这里输入请求
体‘)
edit.setPlainText('''hello world''')
edit.appendPlainText('hello world')
edit.insertPlainText('内容')
edit.clear()
edit.copy()

paste 方法可以把剪贴板内容,拷贝到编辑框当前光标所在处,比如
edit.paste()

工具的使用
1、Qt Designer工具主界面
主界面如下:

主界面不同区域介绍:
工具箱 区域:提供GUI界面开发使用的各种基本控件,
如单选框、文本框等。可以拖动到新创建的主程序界
面。
主界面区域:用户放置各种从工具箱拖过来的各种控
件。模板选项中最常用的就是Widget(通用窗口)和
MainWindow(主窗口)。二者区别主要是Widget窗口
不包含菜单栏、工具栏等。可以分别创建对比看看。
对象查看器 区域:查看主窗口放置的对象列表。
属性编辑器 区域: 提供对窗口、控件、布局的属性编
辑功能。比如修改控件的显示文本、对象名、大小等。
信号/槽编辑器 区域:编辑控件的信号和槽函数,也可
以添加自定义的信号和槽函数。
2、Qt Designer基本控件介绍
Widget Box控件工具箱是按照控件作用类别进行划分
的。这里作为实现入门级界面实现,主要介绍最常使用
的控件及控件对象相关函数。函数方法知道怎么获取控
件输入内容以及如何将后台操作结果输出到界面控件显
示的主要函数就可以了。

(1)显示控件。
Lable:文本标签,显示文本,可以用来标记控件。
Text Browser:显示文本控件。用于后台命令执行结
果显示。
(2)输入控件,提供与用户输入交互
Line Edit:单行文本框,输入单行字符串。控件对象
常用函数为Text() 返回文本框内容,用于获取输入。
setText() 用于设置文本框显示。
Text Edit:多行文本框,输入多行字符串。控件 对象
常用函数同Line Edit控件。
Combo Box:下拉框列表。用于输入指定枚举值。
(3)控件按钮,供用户选择与执行
Push Button:命令按钮。常见的确认、取消、关闭
等按钮就是这个控件。clicked信号一定要记住。clicked
信号就是指鼠标左键按下然后释放时会发送信号,从而
触发相应操作。
Radio Button:单选框按钮。
Check Box:多选框按钮。

登录

导入对应的库

1- 应用对象

from PySide2.QtWidgets import QApplication

2- 界面ui 文件需要导入代码里去

from PySide2.QtUiTools import QUiLoader

3- 导入读取ui文件的库

from PySide2.QtCore import QFile

4- 需要一个应用程序对象

app = QApplication([])#sys.argv

5- 获取ui 文件

qFile = QFile('登录.ui')

6- 打开这个ui文件

qFile.open(QFile.ReadOnly)

7- 加载ui对象

ui = QUiLoader().load(qFile)

8- 关闭qfile文件

qFile.close()

-----登录操作------

def login():
#账号获取--ui页面的对应的对象获取
userName = ui.name_lineEdit.text()
password = ui.psw_lineEdit.text()
ui.textBrowser.append(f"用户{userName},登录成功!")
#密码获取
#显示登录结果

def exit():
ui.textBrowser.clear()

动作关联

ui.pushButton.clicked.connect(login)
ui.pushButton_2.clicked.connect(exit)

下拉菜单设置

ui.comboBox.addItems(["1","2","3"])

获取当前下拉菜单栏的选项

print(ui.comboBox.currentText())

ui.radioButton.setChecked(True)

9- 显示这个ui

ui.show()

10- 运行应用对象

app.exec_()

标签:控件,Qt5,界面,python,方法,edit,ui,文本,编辑框
From: https://www.cnblogs.com/running-snail-12345/p/18263961

相关文章

  • python json反序列化为对象
    在Python中,将JSON数据反序列化为对象通常意味着将JSON格式的字符串转换为一个Python的数据结构(如列表、字典)或者一个自定义的类实例。虽然Python的标准库json模块不提供直接将JSON数据映射到类的实例的功能,但我们可以通过一些技巧来实现这个需求。以下是一个详细的示例,展示了如何......
  • Python实现语音转文字功能
    importosimportrequestsimporturllibimportcalendarimporttimeimportdatetimefrommoviepy.editorimportAudioFileClipfrompydubimportAudioSegmentfromaipimportAipSpeechclassDouYin:def__init__(self):self._headers={......
  • python基础 - 利用耗时计算回顾基础
    """json格式:1-自动化测试:做接口自动化测试响应数据里resp.json()接收数据2-测试开发:做后端服务--接口返回数据类型json转化方法:1-json--转--字典importjsonjson.loads()2-字典--转--jsonimportjsonjson.dumps()常见报错JSONDecodeError在j......
  • python基础 - 多线程技术
    基础概念importtimedeftest(something):print(f"我开始>>>{something}")time.sleep(2)print(f"我结束>>>{something}")"""场景:1-io密集型--阻塞sleeprequestssocket"""importthreading"&quo......
  • python基础 - socket编程基础
    一对一---服务端importsocketip_port=('127.0.0.1',9999)1-创建socket对象---socket也叫套接字sk=socket.socket()2-绑定ip端口sk.bind(ip_port)3-开启监听sk.listen()print('---socket服务器已经启动完成---')4-阻塞等待客户端来链接可以返回连接对象......
  • SQL-Python
    师从黑马程序员数据库介绍数据库就是存储数据的库数据组织:库->表->数据数据库和SQL的关系MySQL的基础命令 SQL基础SQL语言的分类SQL的语法特征DDL-库管理showDATABASES;usesys;SELECTdatabase();CREATEDATABASEtestCHARSETutf-8;SHOWDATAB......
  • pyqt5创建主窗口(介绍窗口类型)
    创建主窗口(介绍窗口类型)我们用QMainWindow主窗口代码来创建UIQMainWindow.setWindowTitle(字符串),设置窗口标题QMainWindow.resize(800,400),设置窗口尺寸QMainWindow.statusBar(),获取状态栏对象QMainWindow.showMessage('停留5秒消息',5000)QApplication.setWindowIcon(QIco......
  • 基于 Python-Tkinter 的古诗文垂直搜索引擎(全网首份 + 包复现)
    目录一、前言二、实现效果参考文献注:①整个项目可作为本科阶段计算机NLP方向的课程设计,建议收藏。一、前言  中国古典诗词具有独特的艺术表现形式,在人们的日常生活中架起了情感共鸣的桥梁、充当了教育和启蒙的工具,其中很多古诗词蕴含着民族正气和家国情......
  • [absl_py][python]absl_py所有whl文件下载地址汇总
    absl_py是Google开发并维护的一个Python软件包,它是C++Abseil库的Python版本。该库旨在提供一系列高质量的、跨平台的实用工具,帮助开发者构建大规模软件项目。以下是关于absl_py的详细介绍:功能概述:字符串处理:absl_py提供了一组实用的字符串操作函数,包括字符串拼接、分割、......
  • python连接mysql、sqlserver、oracle、postgresql数据库进行封装
    python连接mysql、sqlserver、oracle、postgresql数据库进行封装python连接mysql、sqlserver、oracle、postgresql数据库进行封装详解一、引言二、python连接MySQL数据库进行封装三、python连接SQLServer数据库进行封装四、Python连接Oracle数据库进行封装五、Python连......