浏览代码

sorting + headers + select rows only

master^2
Fabien Toune 3 年前
父节点
当前提交
378c7db2e2
共有 1 个文件被更改,包括 11 次插入2 次删除
  1. +11
    -2
      GuiManagement.py

+ 11
- 2
GuiManagement.py 查看文件

@@ -23,6 +23,7 @@ class InstanceModel(QAbstractTableModel):
def __init__(self, instances=[]):
super().__init__()
self.instances = instances
self.instances.sort(key=lambda e: e[1])

def data(self, index, role):
if role == Qt.DisplayRole:
@@ -36,8 +37,13 @@ class InstanceModel(QAbstractTableModel):
# we don't show id's, so -1
if len(self.instances):
return len(self.instances[0]) - 1
return 0

return 0
def headerData(self, section, orientation, role):
headers = ['Nom', 'Adresse', 'Région', 'Statut']
if role == Qt.DisplayRole and orientation == Qt.Horizontal:
return headers[section]
# UI Classes
class UserDialog(QDialog, Ui_userDialog):
""" A dialog to add and edit users"""
@@ -86,6 +92,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.instance_model = InstanceModel(instances=instances)
self.instanceView.setModel(self.instance_model)
self.instanceView.selectionModel().selectionChanged.connect(self.change_instance_selection)
self.instanceView.setSelectionBehavior(self.instanceView.SelectRows)
self.destroyButton.pressed.connect(self.destroy_instance)
self.refreshButton.pressed.connect(self.refresh_instances)

@@ -127,6 +134,8 @@ class MainWindow(QMainWindow, Ui_MainWindow):
def refresh_instances(self):
QApplication.setOverrideCursor(Qt.WaitCursor)
self.instance_model.instances = ovh_api.get_instances()
# sorting by name
self.instance_model.instances.sort(key=lambda e: e[1])
self.instance_model.layoutChanged.emit()
QApplication.restoreOverrideCursor()



正在加载...
取消
保存