nb_0,谢谢!

# -*- coding: utf-8 -*-
"""
Created on Thu Sep 17 14:14:15 2020

@author: 19749
"""
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
import pandas as pd
df = pd.DataFrame({'': [],
                   '基金简称': [],
                   '基金代码': []})
class pandasModel(QAbstractTableModel):
    def __init__(self, data):
        QAbstractTableModel.__init__(self)
        self._data = data

    def rowCount(self, parent=None):
        return self._data.shape[0]

    def columnCount(self, parnet=None):
        return self._data.shape[1]

    def data(self, index, role=Qt.DisplayRole):
        if index.isValid():
            if role == Qt.DisplayRole:
                return str(self._data.iloc[index.row(), index.column()])
        return None

    def headerData(self, col, orientation, role):
        if orientation == Qt.Horizontal and role == Qt.DisplayRole:
            return self._data.columns[col]
        return None
class data:
    def data11(self):
        a = pd.read_csv('指数股票型.csv', encoding = "gb2312").T.reset_index(drop=False)
        a.insert(2, '类别', '指数股票型')
        a.columns = ['基金代码', '基金简称', '类别']
        return a
    def data12(self):
        a = pd.read_csv('主动股票开放型.csv', encoding = "gb2312").T.reset_index(drop=False)
        a.insert(2, '类别', '主动股票开放型')
        a.columns = ['基金代码', '基金简称', '类别']
        return a
    def data21(self):
        a = pd.read_csv('主动混合封闭型.csv', encoding = "gb2312").T.reset_index(drop=False)
        a.insert(2, '类别', '主动混合封闭型')
        a.columns = ['基金代码', '基金简称', '类别']
        return a
    def data22(self):
        a = pd.read_csv('主动混合开放型.csv', encoding = "gb2312").T.reset_index(drop=False)
        a.insert(2, '类别', '主动混合开放型')
        a.columns = ['基金代码', '基金简称', '类别']
        return a
    def data31(self):
        a = pd.read_csv('指数债券型.csv', encoding = "gb2312").T.reset_index(drop=False)
        a.insert(2, '类别', '指数债券型')
        a.columns = ['基金代码', '基金简称', '类别']
        return a
    def data32(self):
        a = pd.read_csv('主动债券封闭型.csv', encoding = "gb2312").T.reset_index(drop=False)
        a.insert(2, '类别', '主动债券封闭型')
        a.columns = ['基金代码', '基金简称', '类别']
        return a
    def data33(self):
        a = pd.read_csv('主动债券开放型.csv', encoding = "gb18030").T.reset_index(drop=False)
        a.insert(2, '类别', '主动债券开放型')
        a.columns = ['基金代码', '基金简称', '类别']
        return a
    def data_all(self):
        a = pd.DataFrame({'基金代码': [], '基金简称': [], '类别': []})
        for i in range(1,4):
            for j in range(1,4):
                try:
                    exec('global b\nb = self.data' + str(i) + str(j) + '()')
                    a = pd.concat([a, b])
                except:
                    pass
        return a
#指标树
l_f_1 = ['单位净值', '收益率', '换手率']
l_f_2 = ['最大回撤', '持仓行业']
l_f = [l_f_1, l_f_2]

class window2(QWidget):
    def __init__(self):
        super(window2,self).__init__()
        self.setWindowTitle("同业分析")
        self.resize(1700, 900)
        self.vlt0 = QVBoxLayout(self)
        self.top()
        self.mainWindow()
        
    def top(self):
        self.hlt0 = QHBoxLayout()
        self.vlt0.addLayout(self.hlt0)
 
        self.btn01 = QPushButton('宏观经济指标')
        self.btn01.setStyleSheet("background-color: rgb(222,211,140)")
        self.btn01.setMaximumWidth(140)
        
        self.btn02 = QPushButton('同业分析')
        self.btn02.setStyleSheet("background-color: rgb(137,190,178)")
        self.btn02.setMaximumWidth(180)
        
        self.btn03 = QPushButton('第三页面')
        self.btn03.setStyleSheet("background-color: rgb(222,211,140)")
        self.btn03.setMaximumWidth(100)
        
        self.hlt0.addWidget(self.btn01)
        self.hlt0.addWidget(self.btn02)
        self.hlt0.addWidget(self.btn03)
        self.hlt0.addStretch()
        
    def mainWindow(self):
        self.hlt_main = QHBoxLayout()
        self.vlt0.addLayout(self.hlt_main)
        self.leftBar()
        self.tableView()
    def leftBar(self):
        self.spl_left = QSplitter(Qt.Vertical)
        self.spl_left.setMaximumWidth(370)
        self.spl_left.setMinimumWidth(300)
        self.hlt_main.addWidget(self.spl_left)
        self.featureBox()
        self.fundBox()
    def featureBox(self):
        pass
    def fundBox(self):
        pass
    def tableView(self):
        self.model = pandasModel(df)
        self.view = QTableView()
        self.view.setModel(self.model)
        self.view.setSelectionBehavior(QTableView.SelectRows)
        self.view.setSelectionMode(QTableView.ExtendedSelection)
        self.hlt_main.addWidget(self.view)
        
        
        
if __name__ == '__main__':
    import sys
    app = QApplication(sys.argv)
    w2 = window2()
    w2.show()
    sys.exit(app.exec_())
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值