整理自各大网站……..
问题
1.SetHorizontalHeaderLabels无效,不显示.原因是没有设置列数.
SetColumnCount(列数)
2.SetItem无效,不显示.原因是没有设置行数.
SetRowCount(行数)
用法
1.设置表头
tmp:=[]string{"内网ip","外网ip","系统","主机名和用户,"协议","备注","上线版本"}
Hosttable.SetColumnCount(7)
Hosttable.SetHorizontalHeaderLabels(tmp)
2.设置行
Hosttable.SetRowCount(1)
num1 := widgets.NewQTableWidgetItem2("测试", 0)
Hosttable.SetItem(0,0,num1)
3.设置表格的选中方式
Hosttable.SetSelectionBehavior(widgets.QAbstractItemView__SelectRows)//整行选中
Constant | Value | Description |
QAbstractItemView__SelectItems | 0 | Selecting single items.选中单个单元格 |
QAbstractItemView__SelectRows | 1 | Selecting only rows.选中一行 |
QAbstractItemView __ SelectColumns | 2 | Selecting only columns.选中一列 |
4.多行选中
Hosttable.SetSelectionMode(widgets.QAbstractItemView__ContiguousSelection) //ctrl选中
模式 | 描述 |
QAbstractItemView__NoSelection | 项目不能被选择 |
QAbstractItemView __ SingleSelection | 当用户选择一个项目时,任何已经被选中的项目都将被取消选择,并且用户不能通过单击它来取消选定的项目。 |
QAbstractItemView __ MultiSelection | 当用户以通常的方式选择一个项目时,该项目的选择状态将被打开,其他项目将被单独保留。 可以通过将鼠标拖动到上面来进行多个项目。 |
QAbstractItemView __ ExtendedSelection | 当用户以通常的方式选择一个项目时,选择将被清除,并选择新项目。 但是,如果用户在点击一个项目时按下Ctrl键,点击的项目就会被打开,所有其他的项目都不会被修改。 如果用户在单击某一项时按下Shift键,则根据所单击项的状态,选中或取消当前项和单击项之间的所有项。 可以通过拖动鼠标来选择多个项目。 |
QAbstractItemView __ ContiguousSelection | 当用户以通常的方式选择一个项目时,选择将被清除,并选择新项目。 但是,如果用户在单击某项时按下Shift键,那么当前项和点击项之间的所有条目都会被选中或未选中,这取决于所点击条目的状态。 |
5.禁止编辑表格内容
Hosttable.SetEditTriggers(widgets.QAbstractItemView__NoEditTriggers) //禁止编辑表格内容
6.调整表格大小
Hosttable.HorizontalHeader().ResizeSection(i,168)
声明:
本文采用
BY-NC-SA
协议进行授权,如无注明均为原创,转载请注明转自
xxs的博客
本文地址: Go QTableWidget问题和用法总结
本文地址: Go QTableWidget问题和用法总结