一、集成QtDesigner和PyUIC

PyCharm集成QtDesigner和PyUIC教程

二、在QtDesigner中画出窗体

1. 主界面

编辑账本: 新增、修改或删除记录

可视化账本:通过不同角度查看收支情况

全局配置: 根据自身实际情况定义配置

2. 编辑账本界面

三、创建项目

项目结构



将UI文件与窗体文件分离,其中xxx.py与xxxForm.py文件的区别是:前者是通过PyUIC生成的py文件,后者继承前者中的object类,着重于实现控件之间的信号与槽。

启动文件内容

MainApplication.py文件内容:

from PySide6.QtWidgets import QApplication

from FormFiles.MyMainWindowForm import MainMyMainWindow

if __name__ == '__main__':
app = QApplication([])
myMainWindow = MainMyMainWindow()
myMainWindow.show()
app.exec()

xxxForm.py文件基本结构

将xxxForm.py文件设计为如下形式:

from PySide6.QtWidgets import QWidget, QPushButton, QHBoxLayout, QFileDialog, QTableWidgetItem
from PySide6.QtCore import Qt, QDate import os from FormFiles.EditAccountBook import Ui_EditAccountBook TABLEWIDGET_EXPENSE_COLUMN_HEAD = {'基本需求': 'necessity', '数值': 'value', '类别': 'category', '细则': 'detail', '描述': 'describe', '支出账户': 'from', '关联账户': 'associatedFund', '操作': ''}
TABLEWIDGET_INCOME_COLUMN_HEAD = {'数值': 'value', '类别': 'category', '细则': 'detail', '描述': 'describe', '收入账户': 'to', '关联账户': 'associatedFund', '操作': ''}
TABLEWIDGET_MOVEMENT_COLUMN_HEAD = {'数值': 'value', '细则': 'detail', '描述': 'describe', '转出账户': 'from', '转入账户': 'to', '操作': ''} class WidgetEditAccountBook(QWidget, Ui_EditAccountBook): def __init__(self):
super(WidgetEditAccountBook, self).__init__()
self.setupUi(self)
self.tableWidget_expense.setColumnCount(len(TABLEWIDGET_EXPENSE_COLUMN_HEAD))
self.tableWidget_expense.setHorizontalHeaderLabels(list(TABLEWIDGET_EXPENSE_COLUMN_HEAD))
self.tableWidget_income.setColumnCount(len(TABLEWIDGET_INCOME_COLUMN_HEAD))
self.tableWidget_income.setHorizontalHeaderLabels(list(TABLEWIDGET_INCOME_COLUMN_HEAD))
self.tableWidget_movement.setColumnCount(len(TABLEWIDGET_MOVEMENT_COLUMN_HEAD))
self.tableWidget_movement.setHorizontalHeaderLabels(list(TABLEWIDGET_MOVEMENT_COLUMN_HEAD)) self.cwd = os.getcwd() # 程序当前工作目录 self.initWidgets()
self.bindSignal() self.setAttribute(Qt.WidgetAttribute.WA_DeleteOnClose) def bindSignal(self):
# 为各控件绑定信号与槽函数
self.pushButton_file_path.clicked.connect(self.chooseFile)
self.groupBox_expense.clicked.connect(lambda: self.widget_expense.setVisible(not self.widget_expense.isVisible()))
self.groupBox_income.clicked.connect(lambda: self.widget_income.setVisible(not self.widget_income.isVisible()))
self.groupBox_movement.clicked.connect(lambda: self.widget_movement.setVisible(not self.widget_movement.isVisible())) def initWidgets(self):
# 为控件设置初始值
self.dateEdit.setDate(QDate.currentDate()) def chooseFile(self):
chosen_file, file_type = QFileDialog.getOpenFileName(self, "选择文件", self.cwd, "All Files(*);;XML Files(*.xml)")
self.lineEdit_file_path.setText(chosen_file)

项目地址:https://github.com/LinFeng-BingYi/DailyAccountBook

【日常收支账本】【Day02】通过PyCharm集成QtDesigner和PyUIC快速创建界面的更多相关文章

  1. Pycharm集成码云,图文手把手教学!

    Pycharm集成码云 码云(http://gitee.com)是开源中国推出的代码托管平台,支持 Git 和 SVN,提供免费的私有仓库托管 可以通过码云保管你的代码,每次修改完代码提交,就是一个版 ...

  2. 二、配置QtDesigner、PyUIC及PyRcc

    配置QtDesigner.PyUIC及PyRcc 安装完PyQt 5 及PyQt5-tools 后,则需要在Pycharm中配置QtDesigner.PyUIC及PyRcc. 配置QtDesigner ...

  3. 实例演示如何在spring4.2.2中集成hibernate5.0.2并创建sessionFactory

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/49388209 文章作者:苏生米沿 本文目的:使用spring4.2.2集成hibern ...

  4. idea集成maven插件 使用骨架创建maven的java工具 不使用骨架创建maven的java工程

    idea集成maven插件   使用骨架创建maven的java工具  new-->FIle-->Model 选择Maven对勾选上要不不能使用骨架 找到这个,选上下一步 Finish即可 ...

  5. pycharm配置QtDesigner

    QtDesigner C:\Qt\Qt5.12.2\5.12.2\mingw73_64\bin\designer.exe $ProjectFileDir$ Pyuic C:\Anaconda3\pyt ...

  6. Mac上pycharm集成pyspark

    前提: 1.已经安装好spark.我的是spark2.2.0. 2.已经有python环境,我这边使用的是python3.6. 一.安装py4j 使用pip,运行如下命令: pip install p ...

  7. PyCharm 集成 SVN,检出、提交代码

    1.安装 SVN,解决 SVN 目录中没有 svn.exe 问题 重新打开 TortoiseSVN 安装文件 选择 Modify 后在command line client tools 选项修改为 W ...

  8. Ubuntu上安装Python3编译器和 Pycharm 集成开发环境

    一.安装python3 (Ubuntu上面是自带python编译器的,可以用命令"python -V"来查看版本号.我下面安装的是pyhton3编译器) 一条命令就可以 sudo ...

  9. .Net 转战 Android 4.4 日常笔记(10)--ADT集成环境更新SDK

    今天下载了一份原来来参考,却发现SDK版本偏低我没有安装 用SDK Manager却一直更新不了出现 Failed to fetch URL https://dl-ssl.google.com/and ...

  10. Pycharm集成PyQt4并使用

随机推荐

  1. [Spring+SpringMVC+Mybatis]框架学习笔记(四):Spring实现AOP

    上一章:[Spring+SpringMVC+Mybatis]框架学习笔记(三):Spring实现JDBC 下一章:[Spring+SpringMVC+Mybatis]框架学习笔记(五):SpringA ...

  2. UE4构建基础和实践:一、概述

    序言 构建这个概念是和应用程序包及资源等相关的,它的特点是使用脚本控制一系列的任务的处理,以减少人力操作带来的成本和操作失误风险. 在UE的概念里,构建往往是和打包相关的(如编译.cook.压缩打包等 ...

  3. Linux下实现程序开机自启(rc.local 和 systemctl)

    需求: 实现了一个程序,需要在ubuntu上跑起来.能开机自启,且崩溃了也能自己重启.有两种实现方式,个人推荐第二种. 方式1: 实现方式: 直接将要启动程序的运行命令加在 /etc/rc.local ...

  4. Ubuntu 用户的切换

    1.普通用户转成root su root 输入密码 确认密码(此时root账户已经建立) 2. root 转回 普通用户 su  用户名

  5. 配置oracle DG

    主库名称:prod1 使用asm存储数据 11.2.03 同一机器备库名称:dg 使用file存储数据 11.2.03 配置备库的参数文件cd $ORACLE_HOME/dbsvi initdg.or ...

  6. Lora简介

    断断续续接触lora已经有几年时间了,一直用lora来做点对点的传输,近来有朋友想通过Lora来做广播群发和群收管理,想通过低成本方式实现,sx1302几百的银子,成本有点高,尝试通过sx1278/L ...

  7. 如何为物联网设备注入“华为云+鸿蒙DNA”?

    本文分享自华为云社区<如何为物联网设备注入"华为云+鸿蒙DNA"?看华为云IoT怎么答[华为云IoT +鸿蒙]>,作者: 华为IoT云服务. 根据市场咨询机构预测,20 ...

  8. Codeforces 1855B:Longest Divisors Interval 最长的连续约数区间

    1855B.Longest Divisors Interval Description: 对于一个整数 \(n\) \((1\leq n \leq 10^{18})\),找到一段最长的区间\([l,r ...

  9. SSM登录操作

    1.编写实体类 略 2. 写mapper映射文件 通过名字查询 通过ID主键查询... 略 写dao CRUD相关抽象方法 List<Student> getAll(); Student ...

  10. .NET周刊【8月第3期 2023-08-20】

    国内主题 抓的是周树人,与我鲁迅有什么关系? https://www.cnblogs.com/JulianHuang/p/17642511.html 问题:作者看到了一个关于Dictionary.Cl ...