PyQt6实例_A股日数据维护工具_界面代码

目录

前置:

代码

运行:

视频:


前置:

1 本系列将以 "PyQt6实例_A股日数据维护工具" 开头放置在"PyQt6实例"专栏

2 日数据可在"数据库"专栏,"PostgreSQL_"开头系列博文中获取

3 权息数据可以在"随想"专栏,"A股复权计算_"开头系列博文中获取

代码

复制代码
import os.path
from PyQt6.QtCore import (
QSize,
QThread
)
from PyQt6.QtWidgets import (
QApplication,
QMainWindow,
QWidget,
QVBoxLayout,
QHBoxLayout,
QPushButton,
QLabel,
QLineEdit,
QGroupBox,
QTextEdit,
QTableWidget,
QTableWidgetItem,
QComboBox
)


class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle('股票日数据维护')
        self.setMinimumSize(QSize(800,600))

        self.btn_download = QPushButton('下载某个股票未复权数据',clicked=self.btn_download_clicked)
        self.btn_download_adj = QPushButton('下载某个股票前复权数据',clicked=self.btn_download_adj_clicked)
        self.btn_download_ex = QPushButton('下载某个股票的权息数据',clicked=self.btn_download_ex_clicked)

        groupbox1 = QGroupBox('日数据更新')
        groupbox2 = QGroupBox('权息数据更新')

        label11 = QLabel('增量日数据csv文件所在目录')
        label21 = QLabel('拆股数据csv文件位置:')
        label22 = QLabel('配股数据csv文件位置:')
        label23 = QLabel('分红数据csv文件位置:')

        self.lineedit_daily_dir = QLineEdit()
        self.lineedit_sqlits_file = QLineEdit()
        self.lineedit_allotment_file = QLineEdit()
        self.lineedit_equdiv_file = QLineEdit()

        self.btn_daily_dir = QPushButton('打开文件夹',clicked=self.btn_daily_dir_clicked)
        self.btn_splits_file = QPushButton('打开文件',clicked=self.btn_splits_file_clicked)
        self.btn_allotment_file = QPushButton('打开文件',clicked=self.btn_allotment_file_clicked)
        self.btn_equdiv_file = QPushButton('打开文件',clicked=self.btn_equdiv_file_clicked)

        self.btn_execute_daily = QPushButton('执行',clicked=self.btn_execute_daily_clicked)
        self.btn_execute_ex = QPushButton('执行',clicked=self.btn_execute_ex_clicked)

        self.btn_current_data = QPushButton('查看数据表中最新数据',clicked=self.btn_current_data_clicked)

        label31 = QLabel('运行日志:')
        label32 = QLabel('备忘信息:')

        self.btn_add_notes = QPushButton('添加',clicked=self.btn_add_notes_clicked)

        self.textedit_log = QTextEdit()

        self.table_widget = QTableWidget()
        self.table_widget.setColumnCount(3)
        self.table_widget.setHorizontalHeaderLabels(['时间','项','备忘内容'])

        layout00 = QHBoxLayout()
        layout00.addWidget(self.btn_download)
        layout00.addWidget(self.btn_download_adj)
        layout00.addWidget(self.btn_download_ex)

        layout11 = QHBoxLayout()
        layout11.addWidget(label11)
        layout11.addWidget(self.lineedit_daily_dir)
        layout11.addWidget(self.btn_daily_dir)

        layout12 = QHBoxLayout()
        layout12.addStretch(1)
        layout12.addWidget(self.btn_current_data)
        layout12.addWidget(self.btn_execute_daily)

        layout13 = QVBoxLayout()
        layout13.addLayout(layout11)
        layout13.addLayout(layout12)

        groupbox1.setLayout(layout13)

        layout21 = QHBoxLayout()
        layout21.addWidget(label21)
        layout21.addWidget(self.lineedit_sqlits_file)
        layout21.addWidget(self.btn_splits_file)
        layout22 = QHBoxLayout()
        layout22.addWidget(label22)
        layout22.addWidget(self.lineedit_allotment_file)
        layout22.addWidget(self.btn_allotment_file)
        layout23 = QHBoxLayout()
        layout23.addWidget(label23)
        layout23.addWidget(self.lineedit_equdiv_file)
        layout23.addWidget(self.btn_equdiv_file)

        layout24 = QHBoxLayout()
        layout24.addStretch(1)
        layout24.addWidget(self.btn_execute_ex)

        layout25 = QVBoxLayout()
        layout25.addLayout(layout21)
        layout25.addLayout(layout22)
        layout25.addLayout(layout23)
        layout25.addLayout(layout24)
        groupbox2.setLayout(layout25)

        layout31 = QVBoxLayout()
        layout31.addWidget(label31)
        layout31.addWidget(self.textedit_log)

        layout32 = QHBoxLayout()
        layout32.addWidget(label32)
        layout32.addWidget(self.btn_add_notes)
        layout33 = QVBoxLayout()
        layout33.addLayout(layout32)
        layout33.addWidget(self.table_widget)

        layout34 = QHBoxLayout()
        layout34.addLayout(layout31)
        layout34.addLayout(layout33)

        layout = QVBoxLayout()
        layout.addLayout(layout00)
        layout.addWidget(groupbox1)
        layout.addWidget(groupbox2)
        layout.addLayout(layout34)
        widget = QWidget()
        widget.setLayout(layout)
        self.setCentralWidget(widget)
        pass
    def btn_download_clicked(self):
        pass
    def btn_download_adj_clicked(self):
        pass
    def btn_download_ex_clicked(self):
        pass
    def btn_daily_dir_clicked(self):
        pass
    def btn_splits_file_clicked(self):
        pass
    def btn_allotment_file_clicked(self):
        pass
    def btn_equdiv_file_clicked(self):
        pass
    def btn_execute_daily_clicked(self):
        pass
    def btn_execute_ex_clicked(self):
        pass
    def btn_add_notes_clicked(self):
        pass
    def btn_current_data_clicked(self):
        pass

if __name__ == '__main__':
    app = QApplication([])
    mainwindow = MainWindow()
    mainwindow.show()
    app.exec()
    pass

运行:

视频:

https://www.bilibili.com/video/BV1TTZSYvEAz/

https://www.bilibili.com/video/BV13oZUYGE7d/

https://www.bilibili.com/video/BV1DFZSYuEuG/

相关推荐
程序猿与金融与科技4 天前
PyQt6实例_批量下载pdf工具_exe使用方法
pyqt6
程序猿与金融与科技6 天前
PyQt6实例_批量下载pdf工具_主线程启用线程池
pyqt6
程序猿与金融与科技6 天前
PyQt6实例_批量下载pdf工具_线程池
pyqt6
冷心笑看丽美人4 个月前
实现点名神器的pyqt6实现
python·pyqt·pyqt6
ziyu_jia7 个月前
Python教程(二十) : 十分钟入门【PyQt6】
python·pyqt·pyqt6
岳涛@心馨电脑8 个月前
Win/Mac/Linux/Andriod/IOS界面UI设计 - pyside6 - 03 文件(JSON/TXT/PD)查看和打印
前端·python·pyqt6·pyside6
冷心笑看丽美人8 个月前
入门 PyQt6 看过来(案例)13~ 制作一个颜色调节器
开发语言·python·qt·pyqt·pyqt6·python知识
乙酸氧铍10 个月前
【Pyqt6 学习笔记】实现串口调试助手,并将接收到数据模拟键盘输出
笔记·学习·ui·pyqt·gui·pyqt6·pyqt5
乙酸氧铍10 个月前
【Pyqt6 学习笔记】DIY一个二维码解析生成小工具
python·ui·pyqt·pyqt6·pyqt5