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
81502
代码可运行
举报
文章被收录于专栏:Spider篇Spider篇
运行总次数:2
代码可运行

前言

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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
QT pyside2 线程嵌套子线程 实现开始运行和停止运行
QT是一种流行的跨平台应用程序开发框架,而PySide2是QT的一个Python绑定库。在QT和PySide2中使用多线程的主要原因是为了提高应用程序的性能和响应能力。
EXI-小洲
2023/10/16
9550
QT pyside2 线程嵌套子线程 实现开始运行和停止运行
基于PySide6的GUI程序开发全流程(看完就会)
GUI程序的开发方式太多了,这里肯定就是Python语言了,至于为什么,就不多描述了;
MinChess
2023/09/29
14.3K0
基于PySide6的GUI程序开发全流程(看完就会)
python GUI界面设计的那些事(三)
GUI程序其实和普通程序其实就是多了一个界面,而最麻烦的就是用代码实现设计的GUI界面。
叶子陪你玩
2021/04/13
1.7K0
python GUI界面设计的那些事(三)
Python 数据可视化实战:使用 PyQt5 和 Echarts 打造股票数据看板
数据可视化大致可分为两类,一类是 excel、powerBI 这类不需要写代码的,另一类是需要写代码的;而对于 Python 来说,数据可视化框架,我个人觉得大致可以分为以下两类(推荐程度从高到底)
月小水长
2020/01/15
5.4K0
Qt编写自定义控件69-代码行数统计
代码行数统计主要用来统计项目中的所有文件的代码行数,其中包括空行、注释行、代码行,可以指定过滤拓展名,比如只想统计.cpp的文件,也可以指定文件或者指定目录进行统计。写完这个工具第一件事情就是统计了一下自己写过的最大的项目大概多少行代码,看下是不是传说中的一行代码一块钱,这个最大的项目从2010年开始的,到现在差不多快10年了,是自己在现在公司写过的最大的项目,一直在升级更新完善,途中重构过两次,大的结构改动,统计了下好像有15W行左右的代码,纯代码大概在10W,其余是空行和注释行,着实把自己吓了一跳,还算是中型项目了,然后又统计了下自定义控件的所有代码,我勒个去,总代码23W行,纯代码17W行呢,哎呀我去!
feiyangqingyun
2019/10/16
1.6K0
Qt编写自定义控件69-代码行数统计
Qt开发-QT Widgets
https://download.qt.io/official_releases/QtForPython/
码客说
2021/11/10
2.2K0
Qt开源作品10-代码统计组件
代码行数统计主要用来统计项目中的所有文件的代码行数,其中包括空行、注释行、代码行,可以指定过滤拓展名,比如只想统计.cpp的文件,也可以指定文件或者指定目录进行统计。写完这个工具第一件事情就是统计了一下自己写过的最大的项目大概多少行代码,看下是不是传说中的一行代码一块钱,这个最大的项目从2010年开始的,到现在差不多快10年了,是自己在现在公司写过的最大的项目,一直在升级更新完善,途中重构过两次,大的结构改动,统计了下好像有15W行左右的代码,纯代码大概在10W,其余是空行和注释行,着实把自己吓了一跳,还算是中型项目了,然后又统计了下自定义控件的所有代码,我勒个去,总代码23W行,纯代码17W行呢,哎呀我去!
feiyangqingyun
2020/05/15
7040
Qt开源作品10-代码统计组件
python图形用户界面(三):如何简单高效地实现GUI界面设计??
本系列课程是针对无基础的,争取用简单明了的语言来讲解,学习前需要具备基本的电脑操作能力,准备一个已安装python环境的电脑。如果觉得好可以分享转发,有问题的地方也欢迎指出,在此先行谢过。
叶子陪你玩
2020/03/25
2.8K0
Python 图形界面框架 PyQt5 使用指南!
使用Python开发图形界面的软件其实并不多,相对于GUI界面,可能Web方式的应用更受人欢迎。但对于像我一样对其他编程语言比如C#或WPF并不熟悉的人来说,未必不是一个好的工具。
快学Python
2021/12/13
8.4K0
Python 图形界面框架 PyQt5 使用指南!
Python Qt GUI设计:Python调用UI文件的两种方法(基础篇—3)
Python调用UI文件有两种方法,第一种方法在上篇博文已经讲到,将UI文件转换为Python文件,进行调用。
不脱发的程序猿
2021/10/09
4.7K0
Python Qt GUI设计:Python调用UI文件的两种方法(基础篇—3)
Qt 学习记录
[],标识一个 Lambda 的开始,这部分必须存在,不能省略。外部变量访问方式说明符只能使用定义 Lambda 为止时 Lambda 所在作用范围内可见的局部变量(包括 Lambda 所在类的 this)。外部变量访问方式说明符有以下形式:
小简
2023/01/04
7.3K0
Qt 学习记录
Qt Designer快速入门(python GUI 可视化界面搭建)
Qt designer入门指导,这个主要用来辅助设计界面的,生成的ui文件还是要转成py文件拿到pycharm等编辑器继续开发的。
超级小可爱
2023/02/23
2.7K0
Python GUI开发- Qt Designer环境搭建
Qt Designer是PyQt5 程序UI界面的实现工具,使用 Qt Designer 可以拖拽、点击完成GUI界面设计,并且设计完成的 .ui 程序可以转换成 .py 文件供 python 程序调用
上海-悠悠
2024/04/26
5210
Python GUI开发- Qt Designer环境搭建
设计了一个简易的Python GUI界面
设计一个支持多个招聘网站的检索,可以通过指定目标城市、检索职业和查询数量,个性化输出检索结果,尔后将结果显示在界面并保存于文档中。
luanhz
2020/03/31
2.1K0
设计了一个简易的Python GUI界面
Qt For Python按钮控件使用实例
在之前的文章中,我们介绍了PyQt教程,不容错过5和PySide2中主窗口控件MainWindow的使用、窗口控件的4中基础布局管理。从本篇开始,我们来了解一下PyQt5和PySide2中基础控件的使用,其中包括:
州的先生
2019/08/23
4.2K0
Qt For Python按钮控件使用实例
【QT】控件 -- 多元素类 | 容器类 | 布局类
QTableWidget 是 QTableView 的子类,对 QTableView 进行了扩展,将 Model 进行了封装,不需要用户手动创建 Model 对象,直接就可以往 QTableWidget 中添加数据了。
IsLand1314
2025/02/08
3590
【QT】控件 -- 多元素类 | 容器类 | 布局类
Qt 实现视频监控系统
二、功能特点 (一)软件模块 视频监控模块,各种停靠小窗体子模块,包括设备列表、图文警情、窗口信息、云台控制、预置位、巡航设置、设备控制、悬浮地图、网页浏览等。 视频回放模块,包括本地回放、远程回放、设备播放、图片回放、视频上传等。 电子地图模块,包括图片地图、在线地图、离线地图、路径规划等。 日志查询模块,包括本地日志、设备日志等。 系统设置模块,包括系统设置(基本设置、视频参数、数据库设置、地图配置、串口配置等)、录像机管理、摄像机管理、轮询配置、用户管理等。 (二)基础功能 支持各种视频流(rtsp、
派大星在吗
2021/12/15
3K0
Qt Designer基本控件介绍——Containers(容器)
Group Box : 组合框。就是将组合框内的控件标识为一组控件来使用,即一次只能选择其中的一个控件:如性别选择,当选择男时,女不被选择;当选择女时男不被选择 clicked(): 点击QGroupBox控件时,发射该信号; toggled(): 当QGroupBox的状态发生了改变时,发射该信息 import sys from PyQt5.QtCore import Qt from PyQt5.QtGui import QPixmap from PyQt5.QtWidgets import QAppli
Elsa_阿尼
2021/07/12
6.1K0
Qt Designer基本控件介绍——Containers(容器)
Python 单词测试1源代码
第一部分主要分为: 界面设计 登录功能实现 注册功能实现 ---- 界面设计 登录界面代码: ui_login.py from PySide2 import QtCore, QtGui, QtWidgets class Ui_Login(object): def setupUi(self, Login): Login.setObjectName("Login") Login.resize(480, 320) self.label = Q
叶子陪你玩
2021/09/15
7280
PyQt5 高级界面控制(表格、树、tab、dock、scrollbar、多文档界面)
learn from 《PyQt5 快速开发与实战》 https://doc.qt.io/qtforpython/index.html https://www.riverbankcomputing.com/static/Docs/PyQt5
Michael阿明
2022/05/30
7.1K0
PyQt5 高级界面控制(表格、树、tab、dock、scrollbar、多文档界面)
推荐阅读
相关推荐
QT pyside2 线程嵌套子线程 实现开始运行和停止运行
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验