Skip to content
Snippets Groups Projects
Commit 75cfa2fd authored by Jakub Štercl's avatar Jakub Štercl
Browse files

groups are now in QTable, looks better

parent b8c42623
No related branches found
No related tags found
No related merge requests found
from PyQt5.QtWidgets import QWidget
from PyQt5.QtWidgets import *
from globals import Global
from model.qtmodels.GroupTableModel import GroupTableModel
from windows import groupsoverview
 
 
......@@ -7,3 +9,17 @@ class GroupsOverview(QWidget, groupsoverview.Ui_Form):
super(GroupsOverview, self).__init__(parent)
self.setupUi(self)
#self.btnCreateGroup.clicked.connect()
model = GroupTableModel(Global.db.get_groups())
self.tableGroups.setModel(model)
for i in range(model.rowCount()):
edit_button = QPushButton("edit" + str(i))
group = model.data(self.tableGroups.model().index(i, 0), model.modelRole)
edit_button.setObjectName(str(group.id))
edit_button.clicked.connect(self.editGroup)
self.tableGroups.setIndexWidget(self.tableGroups.model().index(i, 1), edit_button)
header_view = self.tableGroups.horizontalHeader()
header_view.setSectionResizeMode(0, QHeaderView.Stretch)
header_view.resizeSection(1, 50)
def editGroup(self):
print(self.sender().objectName())
\ No newline at end of file
from PyQt5 import QtWidgets as Qt
 
from controllers.groups_overview_controller import GroupsOverview
from model.qtmodels.GroupListModel import GroupListModel
from model.qtmodels.GroupTableModel import GroupTableModel
from model.qtmodels.PersonListModel import PersonListModel
from windows import mainwindow
from globals import Global
......
from PyQt5 import QtGui, QtCore, uic
from PyQt5.QtWidgets import QPushButton
 
 
class GroupListModel(QtCore.QAbstractListModel):
class GroupTableModel(QtCore.QAbstractTableModel):
modelRole = -1
 
def __init__(self, groups=[], parent=None):
super(GroupListModel, self).__init__(parent)
super(GroupTableModel, self).__init__(parent)
self._groups = groups
 
def rowCount(self, parent=None, *args, **kwargs):
return len(self._groups)
 
def columnCount(self, parent=None, *args, **kwargs):
return 2
def headerData(self, p_int, Qt_Orientation, role=None):
if role == QtCore.Qt.DisplayRole:
return 'x'
def data(self, index, role=None):
if role == QtCore.Qt.DisplayRole:
return self._groups[index.row()].name
if index.column() == 0:
return self._groups[index.row()].name
if index.column() == 1:
return QPushButton("karel")
 
if role == GroupListModel.modelRole:
if role == GroupTableModel.modelRole:
return self._groups[index.row()]
......@@ -27,13 +27,15 @@ class Ui_Form(object):
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.tableGroups = QtWidgets.QTableView(Form)
self.tableGroups.setSelectionMode(QtWidgets.QAbstractItemView.SingleSelection)
self.tableGroups.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
self.tableGroups.setShowGrid(False)
self.tableGroups.setSortingEnabled(True)
self.tableGroups.setCornerButtonEnabled(False)
self.tableGroups.setObjectName("tableGroups")
self.tableGroups.horizontalHeader().setHighlightSections(True)
self.tableGroups.verticalHeader().setVisible(True)
self.tableGroups.horizontalHeader().setHighlightSections(False)
self.tableGroups.verticalHeader().setVisible(False)
self.tableGroups.verticalHeader().setCascadingSectionResizes(True)
self.tableGroups.verticalHeader().setDefaultSectionSize(0)
self.horizontalLayout_2.addWidget(self.tableGroups)
self.tableMembers = QtWidgets.QTableView(Form)
self.tableMembers.setObjectName("tableMembers")
......
......@@ -44,24 +44,30 @@
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QTableView" name="tableGroups">
<property name="selectionMode">
<enum>QAbstractItemView::SingleSelection</enum>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
<property name="showGrid">
<bool>false</bool>
</property>
<property name="sortingEnabled">
<bool>true</bool>
</property>
<property name="cornerButtonEnabled">
<bool>false</bool>
</property>
<attribute name="horizontalHeaderHighlightSections">
<bool>true</bool>
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>true</bool>
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderCascadingSectionResizes">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>0</number>
</attribute>
</widget>
</item>
<item>
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.2.1, 2017-03-14T13:35:49. -->
<!-- Written by QtCreator 4.2.1, 2017-03-14T23:24:44. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
......@@ -282,14 +282,17 @@
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">-1</value>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments"></value>
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable"></value>
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory">%{buildDir}</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Custom Executable</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qt</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:E:/BP/Implementace/windows/qt/qt.pro</value>
<value type="bool" key="QmakeProjectManager.QmakeRunConfiguration.UseLibrarySearchPath">true</value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">qt.pro</value>
<value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory.default">E:/BP/Implementace/windows/build-qt-Desktop_Qt_5_8_0_MinGW_32bit-Debug</value>
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment