找回密码
 立即注册
Qt开源社区 门户 查看内容

PyQt5:极简图书管理(QTableWidget的使用)1

2019-9-6 05:49| 发布者: admin| 查看: 1407| 评论: 0

摘要: PyQt546篇PyQt5:极简图书管理(QTableWidget的使用)1导读:有视频,请在wifi下观看,土豪随意!LEARN MORE正文上期我们学习一下QComboBox类。今天我们一起来学习下QTableWidget类,这是一个很神奇的类,用于呈现数 ...



PyQt5

46篇

PyQt5:极简图书管理(QTableWidget的使用)1

导读:有视频,请在wifi下观看,土豪随意!

LEARN MORE

正文


上期我们学习一下QComboBox类。

今天我们一起来学习下QTableWidget类,这是一个很神奇的类,用于呈现数据非常的方便,只要你没有特别复杂的需求,它都能满足啊!
1

总体介绍


QTableWidget类使用默认模型提供基于项目的表格视图,如下图所示:



表格小部件为应用程序提供标准的表格显示。 QTableWidget中的项目由QTableWidgetItem提供。

如果你想要一个使用你自己的数据模型的表,你应该使用QTableView而不是这个类。

表格小部件可以用所需数量的行和列来构建:
tableWidget = QTableWidget(12,3,self)
或者,可以在没有给定大小的情况下构建表并在稍后调整大小:
tableWidget = QTableWidget(self)tableWidget.setRowCount(3)tableWidget.setColumnCount(2)
项目在表格外创建(没有父窗口小部件),并使用setItem()插入到表格中,如下图:



newItem = QTableWidgetItem("新单元格")tableWidget.setItem(0, 0, newItem)
如果要在表格窗口小部件中启用排序,请在填充项目后再进行排序,否则排序可能会干扰插入顺序。

表可以给出水平和垂直标题。创建标题的最简单方法是向setHorizontalHeaderLabels()和setVerticalHeaderLabels()函数提供一个字符串列表。这些将为表的列和行提供简单的文本标题。也可以创建更复杂的标题。例如,我们可以构建一个带有图标和对齐文本的表项,并将其用作特定列的标题:
cubesHeaderItem = QTableWidgetItem("Cubes"))cubesHeaderItem.setIcon(QIcon(QPixmap("./Images/cubed.png")))cubesHeaderItem.setTextAlignment(Qt.AlignVCenter)
表中的行数、列数可以通过rowCount()和columnCount()找到。

该表可以用clear()函数清除(含表头),clearContents()清除内容(不含表头)。

我们再来介绍一下QTableWidgetItem类。

QTableWidgetItem类提供了一个用于QTableWidget类的项目。

表项用于保存表格窗口小部件的信息。项目通常包含文本,图标或复选框。

顶级项目的构建没有父级,然后插入到由一对行号和列号指定的位置:
newItem = QTableWidgetItem("新单元格")tableWidget.setItem(0, 0, newItem)
每个项目都可以有自己的背景画笔,并使用setBackground()函数进行设置。当前的背景画笔可以通过background()找到。每个项目的文本标签可以使用自己的字体和画笔进行渲染。这些通过setFont()和setForeground()函数指定,并使用font()和foreground()读取。

默认情况下,项目是启用的,可编辑的,可选择的,可勾选的,并且既可以用作拖放操作的来源,也可以用作放置目标。每个项目的标志都可以通过setFlags()用适当的值调用来改变(参见Qt.ItemFlags)。使用setCheckState()函数可以勾选和取消选中可勾选的项目。相应的checkState()函数指示当前是否为可勾选项目。

类归属


PyQt5->QtWidgets->QTableWidget

PyQt5->QtWidgets->QTableWidgetItem

继承关系


PyQt5->QObject and QPaintDevice->QWidget->QFrame->QAbstractScrollArea->QAbstractItemView->QTableView->QTableWidget

更多详细的介绍,请参见官网:
http://doc.qt.io/qt-5/qtableview.html

http://doc.qt.io/qt-5/qtablewidgetitem.html

2

小例子


下面就是我们小例子,采用视频展示,因为动画我感觉已经无法表达了。



要是感觉不清晰,可以点击阅读原文,选择高清版观看(我上传的是1080P的)

昨晚讲解的时候太晚了,状态不是很好,要是感觉说话有点断续的话请谅解。

3

最后


ok,今天的介绍就到这里吧。下期开始正式讲解源码,可能会用几章来讲解。如果你喜欢本篇文章,请给我点赞



赞赏(推荐)


分享给你的好友们吧!



关注微信公众号:学点编程吧,可以获得更多PyQt5的代码!加油!(ง •̀_•́)ง (*•̀ㅂ•́)و

点点最下方的广告也是一种支持啊~!



加入我们的学习交流QQ群,一起学习吧!



看完本文有收获?请转发分享给更多人




猜你喜欢:

更多的PyQt5文章请在微信公众号/在线课程/图文教程中查找。





----------------------------------------------------------------------------------------------------------------------
我们尊重原创,也注重分享,文章来源于微信公众号:学点编程吧,建议关注公众号查看原文。如若侵权请联系qter@qter.org。
----------------------------------------------------------------------------------------------------------------------

鲜花

握手

雷人

路过

鸡蛋

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了