我有一个包含两个项目列表的列表,一个单词和一个数字.这个列表将使用tablewidget呈现.
我的目标是生成一个包含两列并且具有必要行的表,但是具有单词的列的标题应该大于数字列.
我可以使用resize列来调整内容,但是我希望在调整大小后桌子周围没有白色的空白空间.
为了创建gui代码,我正在使用QtDesigner.Thanks.
我正在尝试创建一个TableView具有排序功能的。如果我将TableViewobj 设置为我的自定义HeaderView,则单击标题将不会排序,即使我的自定义HeaderView没有重新实现任何内容。如果我使用 的TableViewheader ( hh=tv.horizontalHeader()) 来代替,它就会排序。我究竟做错了什么?
代码如下:
import sys
import operator
from PyQt5 import QtWidgets
from PyQt5.QtCore import QAbstractTableModel, Qt, QVariant
class TableModel(QAbstractTableModel):
def __init__(self, parent, datain, headerdata):
super(TableModel,self).__init__(parent)
self.arraydata=datain
self.headerdata=headerdata
def rowCount(self,p):
return len(self.arraydata)
def columnCount(self,p):
if len(self.arraydata)>0:
return len(self.arraydata[0])
return 0
def data(self, index, role):
if not index.isValid():
return QVariant()
elif role != Qt.DisplayRole:
return QVariant()
return QVariant(self.arraydata[index.row()][index.column()])
def headerData(self, col, orientation, role):
if orientation==Qt.Horizontal and role==Qt.DisplayRole: …Run Code Online (Sandbox Code Playgroud)