【发布时间】:2015-02-24 10:48:05
【问题描述】:
我有一个QTableView,代码如下。它运行良好,但是当我输入时,搜索字段始终是第一列,即数字和主键。
如何将标准搜索字段更改为另一个字段,例如第二个(名称),即使在名称列上使用 select 列或在名称上使用 setsort,键入时的标准搜索是第一个数字字段?
当代码运行时,我可以通过在第二列左键单击来更改搜索列,但我想以编程方式实现。
class KL_browse(QDialog, ui_kl_browse.Ui_kl_browse):
def __init__(self):
super(KL_browse, self).__init__()
query = QSqlQuery()
query.exec_("""SELECT * FROM klanten""")
self.setupUi(self)
self.model = QSqlTableModel(self)
self.model.setTable("klanten")
self.model.setSort(1, Qt.AscendingOrder)
self.model.select()
self.tableView.setModel(self.model)
self.tableView.setSelectionMode(QTableView.SingleSelection)
self.tableView.setSelectionBehavior(QTableView.SelectRows)
# self.view.setColumnHidden(ID, True)
self.tableView.horizontalHeader().setSectionsMovable(True)
self.tableView.horizontalHeader().setDragEnabled(True)
self.tableView.horizontalHeader().setDragDropMode(QAbstractItemView.InternalMove)
self.tableView.horizontalHeader().setSortIndicator(1,0)
self.tableView.selectRow(0)
self.tableView.selectColumn(1)
【问题讨论】:
标签: python qt pyqt pyside qtableview