【日常收支账本】【Day02】通过PyCharm集成QtDesigner和PyUIC快速创建界面
一、集成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快速创建界面的更多相关文章
- Pycharm集成码云,图文手把手教学!
Pycharm集成码云 码云(http://gitee.com)是开源中国推出的代码托管平台,支持 Git 和 SVN,提供免费的私有仓库托管 可以通过码云保管你的代码,每次修改完代码提交,就是一个版 ...
- 二、配置QtDesigner、PyUIC及PyRcc
配置QtDesigner.PyUIC及PyRcc 安装完PyQt 5 及PyQt5-tools 后,则需要在Pycharm中配置QtDesigner.PyUIC及PyRcc. 配置QtDesigner ...
- 实例演示如何在spring4.2.2中集成hibernate5.0.2并创建sessionFactory
本文地址:http://blog.csdn.net/sushengmiyan/article/details/49388209 文章作者:苏生米沿 本文目的:使用spring4.2.2集成hibern ...
- idea集成maven插件 使用骨架创建maven的java工具 不使用骨架创建maven的java工程
idea集成maven插件 使用骨架创建maven的java工具 new-->FIle-->Model 选择Maven对勾选上要不不能使用骨架 找到这个,选上下一步 Finish即可 ...
- pycharm配置QtDesigner
QtDesigner C:\Qt\Qt5.12.2\5.12.2\mingw73_64\bin\designer.exe $ProjectFileDir$ Pyuic C:\Anaconda3\pyt ...
- Mac上pycharm集成pyspark
前提: 1.已经安装好spark.我的是spark2.2.0. 2.已经有python环境,我这边使用的是python3.6. 一.安装py4j 使用pip,运行如下命令: pip install p ...
- PyCharm 集成 SVN,检出、提交代码
1.安装 SVN,解决 SVN 目录中没有 svn.exe 问题 重新打开 TortoiseSVN 安装文件 选择 Modify 后在command line client tools 选项修改为 W ...
- Ubuntu上安装Python3编译器和 Pycharm 集成开发环境
一.安装python3 (Ubuntu上面是自带python编译器的,可以用命令"python -V"来查看版本号.我下面安装的是pyhton3编译器) 一条命令就可以 sudo ...
- .Net 转战 Android 4.4 日常笔记(10)--ADT集成环境更新SDK
今天下载了一份原来来参考,却发现SDK版本偏低我没有安装 用SDK Manager却一直更新不了出现 Failed to fetch URL https://dl-ssl.google.com/and ...
- Pycharm集成PyQt4并使用
随机推荐
- 使用npm下载vue
一.安装npm 1. 安装node.js npm(Node Package Manager): node.js下的包管理器 前往node.js官网下载并安装工具,nodejs安装完毕后自动会安装npm ...
- Mysql生成测试数据函数
1.查看设置是否允许创建函数系统参数 show variables like 'log_bin_trust_function_creators'; 2.临时设置允许创建函数系统参数 set globa ...
- Windows查询进程和杀死进程
查询进程 查询进程占用的端口(通过端口查询) netstat -ano |findstr "端口号" 杀死进程 通过进程号查看所属进程名称 tasklist |findstr &q ...
- Redis 备忘录
redis是什么 Redis 是一个高性能的key-value数据库 常用操作 下载 官网:https://redis.io/ Linux版:https://redis.io/download Win ...
- ubuntu 安装pip3 报错
运行命令 sudo apt install python3-pip 报错: 有几个软件包无法下载,要不运行apt-get update 或加上--fix-missing试试 输入命令: sudo ap ...
- 王道oj/problem18
网址:略 思路:见注释:有bug:插入时1和2的结果正好相反,稍后编辑. 代码: #define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#incl ...
- Cesium Billboard加载Gif图片
https://blog.csdn.net/xietao20/article/details/109404491
- pylink
1.https://github.com/square/pylink/pull/72
- 【go笔记】目录操作
基本目录操作 涉及:创建目录.重命名目录.删除目录 package main import ( "fmt" "os" "time" &quo ...
- 一些不错的VSCode设置和插件
设置 同步设置 我们做的各项设置,不希望再到其他机器的时候还得再重新配置一次.VSCode中我们可以登陆微软账号或者GitHub账号,登陆后我们可以开启同步设置.开启设置同步,根据提示登陆即可. 允许 ...