Ich habe eine Scrollview, zu der ich QTableWidgets dynamisch hinzufüge. Die QTables selbst haben jedoch auch Bildlaufleisten und zeigen daher nicht die vollständige Tabelle an. Gibt es eine Möglichkeit, die Bildlaufleiste zu deaktivieren, sodass die Tabelle immer vollständig angezeigt wird?pyqt QTablewidget scrollbar entfernen, um volle Tabelle anzuzeigen
EDIT: Ich habe
self.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
wie vorgeschlagen. Die Bildlaufleiste verschwindet, zeigt aber immer noch nur die Teiltabellen (ich kann blättern, während ich den Tisch schwebe und das Mausrad immer noch benutze). Der Code für das Widget unter
from PySide.QtGui import *
from PySide.QtCore import *
class MdTable(QTableWidget):
def __init__(self, data, depth, *args):
QTableWidget.__init__(self, *args)
self.hheaders = ["c1", "c2", "c3", "c4"]
self.depth = depth
self.bids = data
self.setData()
def setData(self):
self.setRowCount(self.depth)
self.setColumnCount(5)
for i in xrange(self.depth):
if len(self.data) > i:
d1= QTableWidgetItem(str(self.data[i][0]))
d2= QTableWidgetItem(str(self.data[i][1]))
self.setItem(i, 1, d1)
self.setItem(i, 2, d2)
self.setHorizontalHeaderLabels(self.hheaders)
self.verticalHeader().setVisible(False)
self.resizeRowsToContents()
self.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
von PySide.QtCore import * self.setVerticalScrollBarPolicy (Qt.ScrollBarAlwaysOff) self.setHorizontalScrollBarPolicy (Qt.ScrollBarAlwaysOff) Ich fügte dieses zu der Klasse hinzu, die QTableWidget erbt. Aber es ändert nichts – chrise
@chrise selbst ist QTableWidget? – eyllanesc
ja. Es ist in dieser Klasse Klasse DataTable (QTableWidget): – chrise