моя программа показывает таблицу в качестве центрального виджета 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)