半成品

半成品,谢谢。

# -*- coding: utf-8 -*-
"""
Created on Mon Aug 10 20:46:22 2020

@author: 19749
"""
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *

import numpy as np

import matplotlib
matplotlib.use("Qt5Agg")  # 声明使用QT5
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.figure import Figure
import matplotlib.pyplot as plt
import math

dict_1 = {'GDP现价': 'M5567876', 
          '第一产业': 'M5567877', 
          '第二产业': 'M5567878', 
          '第三产业': 'M5567879'} 
dict_0 = {'国内生产总值': dict_1}
list_add = {}


class MyFigure(FigureCanvas):
    def __init__(self,width=5, height=4, dpi=100):
        super(MyFigure,self).__init__(self.fig)
        self.fig = Figure(figsize=(width, height), dpi=dpi)
        self.axes = self.fig.add_subplot(111)

class window(QWidget):
    def __init__(self):
        super(window,self).__init__()
        self.resize(1000,800)
        self.setWindowTitle("宏观经济指标")
        
        self.hlt1 = QHBoxLayout(self)
        
        self.tree1 = QTreeWidget()
        self.hlt1.addWidget(self.tree1)
        self.tree1.setMaximumWidth(300)
        self.tree1.setColumnCount(2)
        self.tree1.setMinimumWidth(300)
        self.tree1.setColumnWidth(0,200)
        self.root=QTreeWidgetItem(self.tree1)
        self.root.setText(0,"宏观经济指标")
        for i in dict_0.keys():
            child1 = QTreeWidgetItem(self.root)
            child1.setText(0,i)
            for j in dict_0[i]:
                self.child2 = QTreeWidgetItem(child1)
                self.child2.setText(0,j)
                self.child2.setText(1,dict_0[i][j])              
                self.child2.setCheckState(0, not Qt.CheckState)            
        self.tree1.expandAll()
        self.tree1.itemChanged.connect(self.onclick)
        
        self.vlt1 = QVBoxLayout(self)
        self.hlt1.addLayout(self.vlt1)
        
        self.hlt2 = QHBoxLayout(self)
        self.vlt1.addLayout(self.hlt2)
        
        self.gbx = QGroupBox(self)
        self.vlt1.addWidget(self.gbx)
        self.gridlayout = QGridLayout(self.gbx)
        
        self.btn1 = QPushButton(self)
        self.hlt2.addWidget(self.btn1)
        self.btn1.setText('选择')
        self.btn1.clicked.connect(self.add)
        
        self.tree2 = QTreeWidget()
        self.hlt2.addWidget(self.tree2)
        self.tree2.setMaximumHeight(250)
        self.tree2.setMinimumWidth(200)
        self.tree2.setMaximumWidth(400)
        
        self.cal1 = QCalendarWidget(self)
        self.hlt2.addWidget(self.cal1)
        self.cal1.setMaximumHeight(250)
        self.cal1.clicked.connect(self.showDate)
        
        self.cal2 = QCalendarWidget(self)
        self.hlt2.addWidget(self.cal2)
        self.cal2.setMaximumHeight(250)
        self.cal1.clicked.connect(self.showDate)
        
        self.vlt2 = QVBoxLayout(self)
        self.hlt2.addLayout(self.vlt2)
        
        self.cbx1 = QCheckBox(self)
        self.vlt2.addWidget(self.cbx1)
        self.cbx1.setText('叠加')
        
        self.cbx2 = QCheckBox(self)
        self.vlt2.addWidget(self.cbx2)
        self.cbx2.setText('批量')
        
        self.btn2 = QPushButton(self)
        self.vlt2.addWidget(self.btn2)
        self.btn2.setText('确认')
        self.btn2.clicked.connect(self.getData)
        self.btn2.clicked.connect(self.plotFig)
        
        
        self.btn3 = QPushButton(self)
        self.vlt2.addWidget(self.btn3)
        self.btn3.setText('输出数据')
        
        self.btn4 = QPushButton(self)
        self.vlt2.addWidget(self.btn4)
        self.btn4.setText('输出图表')
        
    def onclick(self,item,cloumn):
        global list_add
        if item.checkState(cloumn) == Qt.Checked:
            print("checked", item.text(0),item.text(1))
            list_add[item.text(0)]=item.text(1)
        if item.checkState(cloumn) == Qt.Unchecked:
            del list_add[item.text(0)]
            print("unchecked", item.text(0))
        print(list_add)
        
    def add(self):
        global list_add
        self.tree2.clear()
        self.tree2.setColumnCount(1)
        for i in list_add:
            child1 = QTreeWidgetItem(self.tree2)
            child1.setText(0, i)
        self.tree2.expandAll()
        print(list_add)
    
    def showDate(self):
        global list_date
        a = self.cal1.selectedDate().toString('yyyy-MM-dd dddd')
        b = self.cal2.selectedDate().toString('yyyy-MM-dd dddd')
        self.btn2.setText('确认\n起始日期:'+a+'\n结束日期:'+b)
        list_date = [self.cal1.selectedDate().toString('yyyy-MM-dd'), 
                     self.cal2.selectedDate().toString('yyyy-MM-dd')]
        print(list_date)
    
    def getData(self):
        global list_name, list_code, list_date
        list_name = []
        list_code = []
        for key in list_add:
            list_code.append(list_add[key])
            list_name.append(key)
        code = ','.join(list_code)
        print([code],list_name)
        #get万得数据公式部分尚待填写
    
    def plotFig(self):
        if self.cbx1.isChecked() == True:
            print('11')
        else:
            pass
        if self.cbx2.isChecked() == True:
            print('21')
        else:
            pass
        #plot部分待填写

    
if __name__ == '__main__':
    import sys
    app = QApplication(sys.argv)
    win = window()  
    win.show()
    sys.exit(app.exec_())
        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值