Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >QT Pyside2 Designer 的基本使用

QT Pyside2 Designer 的基本使用

作者头像
EXI-小洲
发布于 2023-10-16 11:47:53
发布于 2023-10-16 11:47:53
83000
代码可运行
举报
文章被收录于专栏:Spider篇Spider篇
运行总次数:0
代码可运行

前言

PySide2

QT PySide2 是一个用于 Python 编程语言的开源框架,它提供了与 QT C++ 框架的绑定,使得开发者可以使用 Python 进行跨平台的图形用户界面 (GUI) 应用程序开发。QT 是一个功能强大的跨平台应用程序开发框架,具有丰富的 GUI 组件和工具集,以及广泛的应用领域。

PySide2 是 QT 的官方 Python 绑定,由 The Qt Company 维护和支持。它允许开发者使用 Python 的简洁语法和强大的功能来构建 GUI 应用程序,而无需学习 C++。PySide2 提供了对 QT 的完整访问,包括 QT 的核心库、GUI 组件、网络功能、多媒体支持等。

PySide2 Designer

Designer 是一个可视化界面设计工具,它允许开发者通过拖拽和放置的方式创建和编辑图形用户界面 (GUI)。设计师可以使用各种 QT 控件和布局来构建界面,设置属性和样式,定义交互逻辑,并预览界面的外观和行为。

QT PySide2 Designer 提供了一个直观和用户友好的界面,使得界面设计变得简单和快速。开发者可以在设计器中选择和放置各种 QT 控件,如按钮、标签、文本框、列表框等,然后通过属性编辑器设置控件的属性,如大小、位置、颜色、字体等。同时,设计器还提供了布局管理器,用于管理控件的布局和自动调整。

设计好界面后,开发者可以将设计文件保存为.ui 格式,这是一种 XML 文件格式,包含了界面的布局、属性和信号槽的定义。设计文件可以被 PySide2 的代码加载和使用,使得开发者可以在应用程序中动态地创建和管理界面。

总结而言,QT PySide2 Designer 是一个强大的界面设计工具,使得开发者能够轻松创建和编辑 QT GUI 应用程序的界面


提示:以下是本篇文章正文内容,下面案例可供参考

一、安装PySide2、PyQt5

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install pyside2 -i https://pypi.douban.com/simple/
pip install pyqt5-tools -i https://pypi.douban.com/simple/

安装了之后,在本地找到pyside2模块目录,主要使用这个工具:designer.exe,建议创建个快捷方式;

二、使用designer.exe

2.1 工具的大致介绍

  • 1、工具需要的组件,可点击某个组件拖入至创建好的界面中;
  • 2、查看大概的GUI界面效果,选中组件、双击部分组件可直接修改组件的标题或属性值;
  • 3、查看、修改、删除、选中、已选用的组件及组件名称,关键是操作各种组件的布局;
  • 4、操作组件的属性、标题、水平距离、垂直距离、宽高大小、字体、等其他样式;

2.2 创建一个新的UI

点击:文件/新建

2.3 UI文件另存为/保存(Ctrl+S)

点击:文件/另存为 文件后缀为:ui

2.4 使用python操作UI文件

读入UI文件、修改对象组件的属性、绑定按钮的方法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import sys
from PySide2.QtWidgets import QApplication, QWidget, QTableWidgetItem
from PySide2.QtUiTools import loadUiType, QUiLoader
from PySide2.QtCore import QFile, Qt
from PySide2.QtGui import QIcon


class Gui(QWidget):
    def __init__(self):
        # 加载ui文件,创建qt文件对象,加载文件对象并创建ui对象
        QtFileObj = QFile("yk.ui")
        QtFileObj.open(QFile.ReadOnly)
        QtFileObj.close()
        self.ui = QUiLoader().load(QtFileObj)

        # 设置界面图标
        icon = QIcon("yk.ico")
        self.ui.setWindowIcon(icon)

        # 变量定义、ui组件对象属性设置
        self.index = 0
        self.ui.tableWidgetAnswer.horizontalHeader().setVisible(True)  # 设置tableWidget组件的标题显示为True
        self.ui.startButton.clicked.connect(self.logger_show)  # 绑定按钮的方法
        
    def logger_show(self):
        # 插入内容
        logger_item = {
            'one': '-' * 20, 'two': '-' * 20, 'three': '-' * 20, 'four': '-' * 20,
            'five': '程序已经开始运行,请勿多次点击开始运行按钮'
        }
        self.ui.tableWidgetAnswer.insertRow(int(self.ui.tableWidgetAnswer.rowCount()))
        self.index += 1
        new_item_one = QTableWidgetItem(logger_item['one'])
        new_item_one.setTextAlignment(Qt.AlignCenter)
        new_item_two = QTableWidgetItem(logger_item['two'])
        new_item_two.setTextAlignment(Qt.AlignCenter)
        new_item_three = QTableWidgetItem(logger_item['three'])
        new_item_three.setTextAlignment(Qt.AlignCenter)
        new_item_four = QTableWidgetItem(logger_item['four'])
        new_item_four.setTextAlignment(Qt.AlignCenter)
        new_item_five = QTableWidgetItem(logger_item['five'])
        new_item_five.setTextAlignment(Qt.AlignCenter)
        self.ui.tableWidgetAnswer.setItem(self.index - 1, 0, new_item_one)
        self.ui.tableWidgetAnswer.setItem(self.index - 1, 1, new_item_two)
        self.ui.tableWidgetAnswer.setItem(self.index - 1, 2, new_item_three)
        self.ui.tableWidgetAnswer.setItem(self.index - 1, 3, new_item_four)
        self.ui.tableWidgetAnswer.setItem(self.index - 1, 4, new_item_five)
        # 定位至最新行
        self.ui.tableWidgetAnswer.verticalScrollBar().setSliderPosition(self.index)
        # 刷新
        QApplication.processEvents()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ykGuiObj = Gui()
    ykGuiObj.ui.show()
    sys.exit(app.exec_())
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【黄啊码】上百个AI提示词模板,不用多想,直接收藏【三】
Generate a list of 10 frequently asked questions based on the following content: [内容]
黄啊码
2024/08/09
3390
迈向大模型第一步:Prompt提示工程基础原理及实践
想象一下,你在装饰房间。你可以选择一套标准的家具,这是快捷且方便的方式,但可能无法完全符合你的个人风格或需求。另一方面,你也可以选择定制家具,选择特定的颜色、材料和设计,以确保每件家具都符合你的喜好和空间要求。
fanstuck
2024/01/17
3.7K3
迈向大模型第一步:Prompt提示工程基础原理及实践
ChatGPT 中文调教指南
ChatGPT是由OpenAI 训练的一款大型语言模型,能够和你进行任何领域的对话。
用户10399177
2023/03/28
1.5K2
ChatGPT提示工程艺术
ChatGPT 只是近年来开发的多个大型语言模型(LLMs)之一。谷歌一直在开发多个 LLMs,例如 BERT、MUM 和 LaMDA
yeedomliu
2023/09/03
2420
ChatGPT提示工程艺术
ChatGPT提示词保姆级教程
吴恩达联合OpenAI出ChatGPT 提示词教程 课程涵盖从理论到应用的各个方面,包括大型语言模型、文本嵌入、强化学习等技术的应用。 https://learn.deeplearning.ai/
Dlimeng
2024/05/24
4380
ChatGPT提示词保姆级教程
ChatGPT - 高效编写Prompt
The Art of Asking ChatGPT for High-Quality Answers: A Complete Guide to Prompt Engineering Techniques
小小工匠
2023/05/09
1.4K0
ChatGPT - 高效编写Prompt
如何向大模型ChatGPT提出问题以获得优质回答:基于AIGC和深度学习的实践指南
在当今信息爆炸的时代,人们对于知识获取的需求日益增长。特别是在深度学习、高性能计算和人工智能领域,这些前沿技术的不断发展让人们对其应用场景和实现方法有了更多的探索和研究。其中,作为一种基于大规模预训练模型的人工智能问答系统,ChatGPT已经成为众多研究者和开发者的关注重点。如何向ChatGPT提问并获得高质量的答案,成为了学术界和业界需要解决的问题之一。
液冷服务器
2023/05/11
6570
如何向大模型ChatGPT提出问题以获得优质回答:基于AIGC和深度学习的实践指南
chatgpt的命令词
在使用ChatGPT这样的AI语言模型时,你可以通过多种命令词和指令来与其互动和获取所需的信息。这些命令词帮助你明确地向ChatGPT发出指令,使得沟通更加高效和准确。以下是一些常用的命令词和指令分类:
人不走空
2024/06/17
970
数字时代的黑魔法:提示词工程 (上)
毕竟,提示词工程(Prompt Engineering)——与人工智能模型交互的艺术——更像是一种口头独白,而不是一首代码交响曲。
全网漫游指南
2023/11/30
4870
数字时代的黑魔法:提示词工程 (上)
传统提示词工程将亡,全新提示词工程已至
随着 ChatGPT 的持续火热,Prompt Engineering 成为一种全新的职业。他们是极客中的"精英",机器的"耳语者",AI 的“掌舵人”。
Python编程爱好者
2023/08/18
6650
传统提示词工程将亡,全新提示词工程已至
ChatGPT 提示词大师
欢迎来到《ChatGPT 提示大师:精通有效提示指南》!这个详尽的教程将教会你一切关于创建简洁有效的 ChatGPT 提示,激发有趣和教育性对话的知识。
ApacheCN_飞龙
2024/05/24
3090
ChatGPT 提示词大师
一文搞懂 AI Prompts (提示)词
Hello folks,我是 Luga,今天我们来聊一下人工智能(AI)生态领域相关的技术 - AI Prompt ,即 “人工智能提示词” 。
Luga Lee
2023/12/19
4.7K1
一文搞懂 AI Prompts (提示)词
AI人工智能大模型失守!ChatGPT、BARD、BING、Claude 相继被"提示攻击"攻陷!
“ 提示攻击,一种利用巧妙的技巧和迷惑性的指令,让这些顶尖的语言模型产生混乱或错误的回答的方法。”
技术人生黄勇
2024/07/19
2290
AI人工智能大模型失守!ChatGPT、BARD、BING、Claude 相继被"提示攻击"攻陷!
如何用ChatGPT提升创作能力?看看这110个必备文案示例
ChatGPT 是 OpenAI 开发的人工智能聊天机器人程序,它基于 GPT-3.5 架构的大型语言模型,强化学习训练。
德顺
2023/08/25
6500
向ChatGPT询问高质量答案的提示工程技术
yeedomliu
2023/09/03
1930
向ChatGPT询问高质量答案的提示工程技术
独家 | ChatGPT喜欢的秘密提示(附证据)
2.您是否同意越来越多的生成式 AI 应用程序/初创企业将很快出现在市场上,有些已经在 2022 年出现?是/否
数据派THU
2023/03/29
2560
独家 | ChatGPT喜欢的秘密提示(附证据)
如何有效向Chatgpt提问
在以前我也写了一篇提问的艺术,不过是面对的对象是人。(详见:更好的解决问题方法:提问的艺术)。最近随着chatgpt的火爆,越来越多的人了解和使用chatgpt,也有很多新的人工智能相继问世,如百度的文心一言,华为的盘古,腾讯的混元,阿里的通义千问,讯飞的星火等等。虽然如今ai技术得到飞跃式增长,ai们理解人类自然语言变得更加强大,但是学习如何提问也还是极为重要的。掌握向ai提问的技巧和方法,能够获得准确,有用的回答,有效提高提问效率。
Daimon
2023/08/23
5350
12个ChatGPT写作秘诀让你事半功倍!OpenAI官方发布
指南的开头写道:如果使用得当,ChatGPT可以成为一个强大的工具,帮助学生培养严谨思维和清晰写作的技能,协助他们思考创意、掌握复杂概念并得到写作草稿的反馈。
新智元
2025/02/14
830
12个ChatGPT写作秘诀让你事半功倍!OpenAI官方发布
ChatGPT 提示词十级技巧:从新手到专家 [译]
我投入了大量时间研究并测试各种提示词以寻求最佳效果。在这篇文章中,我将所有这些经验总结为了 10 个级别的提示词设计技巧。我们会从基础开始,一直深入到最近在新加坡提示词设计比赛中夺冠的专家技术。那我们开始吧。
硬核编程
2024/05/11
1.1K0
ChatGPT 提示词十级技巧:从新手到专家 [译]
ChatGPT 解密
Introduction 欢迎来到《ChatGPT 解密:人工智能增强生活入门指南》。这本书是你融入人工智能(AI)到日常生活的新方式的护照。
ApacheCN_飞龙
2024/05/24
1010
推荐阅读
相关推荐
【黄啊码】上百个AI提示词模板,不用多想,直接收藏【三】
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验