【QTdesigner】课时67.扩展的表格控件(QTableWidget)【pyqt5+QTdesigner模式】

hustlei 2020-06-04

课程目录

视频链接
知识点扩充
课程重点
代码位置
完整代码
遇到的问题
改写效果展示
改写注意点
改写代码(QTdesigner模式)
>>> 点击进入:pyqt5专栏<<<
老师原课件下载地址:
有积分的朋友,支持下我,打赏也OK。
不下载也可以,我每节课会吧代码贴出来

视频链接

P66课时67.扩展的表格控件(QTableWidget)

知识点扩充

PyQt5高级界面控件之QTableWidget(四)

QTableWidget 的常用方法


课程重点

代码位置

完整代码

‘‘‘

扩展的表格控件(QTableWidget)

QTableView

每一个Cell(单元格)是一个QTableWidgetItem

‘‘‘

import sys
from PyQt5.QtWidgets import (QWidget, QTableWidget, QHBoxLayout, QApplication, QTableWidgetItem, QAbstractItemView)


class TableWidgetDemo(QWidget):
def __init__(self):
super(TableWidgetDemo,self).__init__()
self.initUI()

def initUI(self):
self.setWindowTitle("QTableWidget演示")
self.resize(430, 230);
layout = QHBoxLayout()
tablewidget = QTableWidget()
tablewidget.setRowCount(4)
tablewidget.setColumnCount(3)

layout.addWidget(tablewidget)

tablewidget.setHorizontalHeaderLabels([‘姓名‘,‘年龄‘,‘籍贯‘])
nameItem = QTableWidgetItem("小明")
tablewidget.setItem(0,0,nameItem)

ageItem = QTableWidgetItem("24")
tablewidget.setItem(0,1,ageItem)

jgItem = QTableWidgetItem("北京")
tablewidget.setItem(0,2,jgItem)

# 禁止编辑
tablewidget.setEditTriggers(QAbstractItemView.NoEditTriggers)

# 整行选择
tablewidget.setSelectionBehavior(QAbstractItemView.SelectRows)
# 调整列和行
tablewidget.resizeColumnsToContents()
tablewidget.resizeRowsToContents()

tablewidget.horizontalHeader().setVisible(False)
# tablewidget.verticalHeader().setVisible(False)

tablewidget.setVerticalHeaderLabels(["a","b"])

# 隐藏表格线
tablewidget.setShowGrid(False)

self.setLayout(layout)


if __name__ == ‘__main__‘:
app = QApplication(sys.argv)
example = TableWidgetDemo()
example.show()
sys.exit(app.exec_())

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
遇到的问题

找不到对应的功能


改写效果展示

改写注意点

设置item


禁止编辑:


选择模式:


设置表头隐藏和显示:
老师的把显示关闭了,所以导致列标题没显示出来。


单独设置每一个单元格的显示效果
我还没看到如何统一设置,懒得找了


改写代码(QTdesigner模式)

# -*- coding:utf-8 -*-
‘‘‘
@Author: knocky
@Blog: https://blog.csdn.net/zzx188891020
@E-mail:
@File: class67.py
@CreateTime: 2020/6/3 22:58
‘‘‘

import sys
from PyQt5.QtWidgets import QApplication,QWidget,QAbstractItemView
from PyQt5 import uic


class my_form(QWidget):
def __init__(self):
super().__init__()
uic.loadUi(‘../ui_package/class67.ui‘, self)
# 调整列和行
self.tableWidget.resizeColumnsToContents()
self.tableWidget.resizeRowsToContents()


if __name__ == ‘__main__‘:
app = QApplication(sys.argv)
main = my_form()
main.show()
sys.exit(app.exec_())

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

点赞

评论

分享

收藏

手机看

打赏
文章举报
收起全文

拿下阿里offer的AI应届生,需要具备什么样的能力?
阅读数2661
人工智能的火广大程序员应该都有了解,但是进军AI领域的条件是?
————————————————
原文链接:https://blog.csdn.net/zzx188891020/article/details/106432722

https://www.dianyuan.com/people/836381
https://www.dianyuan.com/people/836382
https://www.dianyuan.com/people/836383
https://www.dianyuan.com/people/836525
https://www.dianyuan.com/people/836526
https://www.dianyuan.com/people/836528