QTableModel/View arbeitet unerwartet
Verfasst: Dienstag 27. Januar 2015, 22:42
Code: Alles auswählen
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# -- import --
import sys
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
# Model
class Model(QAbstractTableModel):
def __init__(self, parent=None):
super(Model, self).__init__(parent)
def rowCount(self, parent):
return 10
def columnCount(self, parent):
return 2
def headerData(self, section, orientation, role):
return "TestHeader"
def data(self, index, role):
return str(index.row()) + " x " + str(index.column())
# Window / View
class MV(QDialog):
def __init__(self, parent=None):
super(MV, self).__init__(parent)
# View & Model
view = QTableView()
model = Model()
view.setModel(model)
# Layout
layout = QVBoxLayout()
layout.addWidget(view)
self.setLayout(layout)
if __name__ == '__main__':
app = QApplication(sys.argv)
screen = MV()
screen.show()
sys.exit(app.exec_())
1.
Problem ist, dass ich keine Header in der Tabelle habe. Laut Doku sollte headers() aber implementiert werden.
2.
Dann sind da Vierecke (vermtulich Checkboxes) in jeder Zelle.
3.
Weiteres Problem ist, dass das TableWidget selbst horizontal größer ist, als die darin enthaltenen zwei Spalten. Sieht unschön aus.