Начало работы функции сортировки в подменю PyQt5 - PullRequest
0 голосов
/ 01 сентября 2018

моя программа показывает таблицу в качестве центрального виджета GUI в PyQt5, и я хотел бы добавить в меню функцию сортировки. У меня пока что меню настроено нормально, но я немного не уверен, как завершить работу функции, чтобы она работала без сбоев Python. Надеюсь, это просто что-то маленькое. q1 - мой фрейм данных (первый квартал).

Спасибо за любую помощь.

q1 = pandas.read_csv("data\q1.csv") #dataframe
q1.apply(lambda x: x.str.strip() if x.dtype == "object" else x) #strip whitespace
q1 = q1.dropna()
code = q1.loc[:,"Code"]
region = q1.loc[:,"Region"]
name = q1.loc[:,"Name"]
heads = list(q1.columns.values) #creates list of header values

class Main(QMainWindow):


    def __init__(self,parent = None):
        super().__init__()
        self.title = 'PyQt5 table'
        self.left = 90
        self.top = 90
        self.width = 800
        self.height = 600
        self.grid_widget = App(self)
        self.initUI()

    def initUI(self):    


        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)

        exitAct = QAction(QIcon('exit.png'), '&Exit', self)        
        exitAct.setShortcut('Ctrl+Q')
        exitAct.setStatusTip('Exit application')
        exitAct.triggered.connect(qApp.quit)

        self.statusBar()

        menubar = self.menuBar()

        file_menu = menubar.addMenu('File')
        # adding actions to file menu
        exitButton = QAction(QIcon('exit24.png'), 'Exit', self)
        exitButton.setShortcut('Ctrl+Q')
        exitButton.setStatusTip('Exit application')
        exitButton.triggered.connect(self.close)
        file_menu.addAction(exitButton)


        # Edit menu
        edit_menu = menubar.addMenu('Edit')
        # adding actions to edit menu
        undo_action = QAction('Undo', self)
        redo_action = QAction('Redo', self)
        edit_menu.addAction(undo_action)
        edit_menu.addAction(redo_action)

        #Sort menu
        sort_menu = menubar.addMenu('Sort')

        ascMenu = QMenu('Ascending', self)
        ascAct = QAction('By Region', self) 
        ascMenu.addAction(ascAct)
        sort_menu.addMenu(ascMenu)
        ascAct.triggered.connect(self.sortasc)



        self.setCentralWidget(self.grid_widget)

        self.show()

    def sortasc(self, column, order):

        self.tableWidget.sortItems(self, 1, SortOrder = AscendingOrder)
...