首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Qt Designer基本控件介绍——Item Views(表项视图)和Item Widgets(部件)

QTreeView” “PyQt5高级界面控件之QTreeWidget(五)” ---- Table View : Table Widgets :具有默认模型的基于项目的表视图 QTableWidget继承自QTableView...QSqlTableModel能与QTableView绑定,但不能于QTableWidget绑定。...详细介绍可以看博客: “QTableWidget与QTableView的区别” “QTableWidget / QTableView的应用” ---- Column View :模型/视图数据为基础的...,列为单位的列表控件 详细介绍可以看博客: “QT基础知识(九)列表控件QColumnView” “Qt编写ColumnView入门示例” #可以指定列表视图是否获取调整大小。...详细介绍可看博客: “实战PyQt5: 078-撤销命令视图QUndoView” “Qt如何实现QTableView的撤消与恢复功能”

5.8K00

QTableView表格视图的列宽设置

Qt中的表格控件可以通过从QTableView或QTableWidget派生子类实现。其中,QTableWidget只是对QTableView的一种简单封装。...因为使用QTableView常常需要用户指定自定义的Model,这意味使用起来不够轻便。有时候我们只是想利用一些简单的表格功能,不需要对表格展示有多强大的控制。...horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);   参数QHeaderView::ResizeToContens说明:调整列宽适应单元内容...这种方法只适合端文本内容的使用。此外,这种方法还有一个缺点,设置了这种缩放方式之后,表头就不能再被拉伸完全失去响应。...在Model设置好之后调用setColumnWidth()的效果:第一列的内容一般较长,所以更宽,其他列则更窄。 ?

7.7K121

60.QT-QabstractTableModel模型、重写sort方法排序

在之前25.QT-模型视图章节中,没有具体描述如何重写model模型,所以本章QabstractTableModel为例,来谈谈model如何实现. 1.QabstractTableModel常用功能...::DisplayRole :文本方式显示数据(QString) //Qt::DecorationRole :将数据作为图标来装饰(QIcon,QPixmap) //Qt::EditRole :可编辑的数据信息显示...: 设置模型数据的大小 QVariant data(const QModelIndex &index, int role); //返回index单元格下的role角色数据。...model调整了哪些内容: insertRows(): //在向数据结构插入新行之前需要调用父类的beginInsertRows(),并且必须在之后立即调用endInsertRows()。...()); } else if (role == Qt::TextAlignmentRole) { //内容排版 return Qt::AlignCenter; } else

2.9K51

Qt官方示例解析-Address Book-基于单个数据模型在不同视图呈现不同数据

这个QDialog子类由NewAddressTab实例化添加联系人,并由AddressWidget实例化添加和编辑联系人。...data()函数根据提供的模型索引的内容返回名称或地址。模型索引中存储的行号用于引用联系人列表中的项。...大家注意QGridLayout,这个网格布局,对齐方式比较常用,各个控件之间的间隔、对齐调整起来较为费时。...每个代理模型依次设置为使用不区分大小写的QRegExp对象根据相关字母表组过滤联系人名称。表视图也使用相应的代理模型的sort()函数按升序排序。...文件自定义的.dat格式保存。联系人列表的内容使用QDataStream写入文件。如果文件无法打开,则会显示一个QMessageBox,并显示相关的错误消息。

5.2K20

Python Qt GUI设计:QTableView、QListView、QListWidet、QTableWidget、QTreeWidget和QTreeWidgetltem表格和树类(提升篇—1)

1、QTableView类 在通常情况下,一个应用需要和一批数据(比如数组、列表)进行交互,然后表格的形式输出这些信息,这时就要用到QTableView类了。...在QtableView中可以使用自定义的数据模型来显示内容,通过setModel来绑定数据源。...QTableWidget继承自QTableView,主要区别是QTableView可以使用自定义的数据模型来显示内容(先要通过setModel来绑定数据源),而QTableWidget只能使用标准的数据模型...QTableView控件可以绑定一个模型数据用来更新控件上的内容,可用的模式如下表所示: 通过示例了解QTableView类的使用方法,效果如下所示: 实现代码如下所示: from PyQt5.QtWidgets...QAbstractItemView.NoEditTriggers) # 设置表格为整行选择 #tableWidget.setSelectionBehavior( QAbstractItemView.SelectRows) # 将行和列的大小设为与内容相匹配

3K20

Python Qt GUI设计:QTableView、QListView、QListWidet、QTableWidget、QTreeWidget和QTreeWidgetltem表格和树类(提升篇—1)

1、QTableView类 在通常情况下,一个应用需要和一批数据(比如数组、列表)进行交互,然后表格的形式输出这些信息,这时就要用到QTableView类了。...在QtableView中可以使用自定义的数据模型来显示内容,通过setModel来绑定数据源。...QTableWidget继承自QTableView,主要区别是QTableView可以使用自定义的数据模型来显示内容(先要通过setModel来绑定数据源),而QTableWidget只能使用标准的数据模型...QTableView控件可以绑定一个模型数据用来更新控件上的内容,可用的模式如下表所示: 通过示例了解QTableView类的使用方法,效果如下所示: 实现代码如下所示: from PyQt5.QtWidgets...QAbstractItemView.NoEditTriggers) # 设置表格为整行选择 #tableWidget.setSelectionBehavior( QAbstractItemView.SelectRows) # 将行和列的大小设为与内容相匹配

3.8K30

Qt写软件系列三:一个简单的系统工具之界面美化

界面个性化定制      Qt开发中有两种方法来进行UI定制:Qt二维绘图(Qt  2D drawing and painting)以及Qt样式表(Qt Style Sheet)。...通常这两种方法需要结合一起使用,发挥其强大的作用。下面,我们就一起来看看,如何开始变身。 标题组件      首先对比一下标题栏前后的不同: ? ?      那么如何做到这样呢?...窗口内容布局       由上面的规划图可以看出,内容布局由三个部分组成上方(top layout)的行编辑框、两个按钮,中间及下面的两个QTableView。...而中间部分的两个QTableView是重点。 ? ? QTableView的美化       QTableView分成表头(Header)和表体(body)两部分。...为什么不是从QTableView继承呢?因为我们使用了Qt中的MVC框架。View只管绘制Model中的数据,至于数据内容、格式设置什么的,都在Model里面设置。

5.2K70

PyQt5 高级界面控制(表格、树、tab、dock、scrollbar、多文档界面)

表格与树 1.1 QTableView 1.2 QListView 1.3 QListWidget 1.4 QTableWidget 表根据界面宽度自动伸缩 禁止编辑 单击某单元,使之默认选中整行 设置宽高度与内容相匹配...是否显示表头 单元格中放置`控件` 输入行号,快速定位行 设置颜色 加粗字体 排序 文本对齐 合并单元格 设置单元格大小 显示网格线 设置图片、更改图片大小 获取单元格内容 右键菜单 1.5 QTreeView...表格与树 1.1 QTableView # _*_ coding: utf-8 _*_ # @Time : 2022/5/9 9:44 # @Author : Michael # @File : tableview1...desc : from PyQt5.QtGui import QStandardItemModel, QStandardItem from PyQt5.QtWidgets import QWidget, QTableView...显示网格线 # 不显示分割线 tablewidget.setShowGrid(False) 设置图片、更改图片大小 ## 放置图片,调整大小 newitem = QTableWidgetItem(QIcon

6.3K20

24.QTableView函数使用,右击菜单实现

QTableView view(this); QStandardItemModel model(this); /*设置表头水平标题*/ model.setHorizontalHeaderItem(0,...      0         文本方式显示数据(QString) Qt::DecorationRole       1     将数据作为图标来装饰(QIcon,QPixmap) Qt::EditRole...      8     设置模型数据的背景色(QBrush) Qt::ForegroundRole      9     设置模型数据的前景色,比如字体(QBrush) 实现右击菜单 当用户在QTableView...ContextMenu类型的事件,所以通过事件过滤器来实现右击菜单效果 步骤: 定义菜单对象(QMenu) 通过QMenu的addAction()函数,添加子项,并连接到槽函数 定义事件过滤器,判断是否是QTableView...ifndef WIDGET_H #define WIDGET_H #include class Widget : public QWidget { Q_OBJECT QTableView

1.7K40

C++ Qt开发:QItemDelegate自定义代理组件

Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍QStyledItemDelegate...在Qt中,QStyledItemDelegate 类是用于创建自定义表格视图(如QTableView和QTableWidget)的委托类,允许你自定义表格中每个单元格的外观和交互。...此处我们将实现对QTableView表格组件的自定义代理功能,例如默认情况下表格中的缺省代理就是一个编辑框,我们只能够在编辑框内输入数据,而有时我们想选择数据而不是输入,此时就需要重写编辑框实现选择的效果...1.2 自定义代理组件这里我们第一个SpinBox组件为例,要实现代理该组件,首先需要在项目上新建一个SpinDelegate类,并依次实现上述的四个方法,先来开创建流程;选择addnew选中 C++...::EditRole); // 更新到数据模型}// 设置组件大小void QWIntSpinDelegate::updateEditorGeometry(QWidget *editor

34710

Qt写软件系列五:一个安全防护软件的制作(3)

主要是窗体分割能够在视觉上对程序功能进行分组分类,在保证界面美观的同时还能保证内容井井有条,何乐而不为呢?Qt中提供了一个用于分割窗体的类:QSplitter。...这样一来,用户就无法用鼠标拖拽左右窗口的大小了。看看效果: ?       在分割出来的子窗口中,还可以进行进一步的分割,也就是QSplitter的嵌套使用。...腾讯QQ的设置窗口为例,看看到底是怎样一种效果: ? ?       当用户点击“基本设置”时,窗口中的内容全部都是相关的选项卡;当点击“安全设置”的时候,窗口内容切换为对应的选项卡内容。...利用这种形式可以很容易的组织逻辑相关的内容。QStackedWidget是Qt为我们提供的一个实现这种功能的类。除此之外,Qt还提供了一个堆栈式窗口布局管理器类:QStackedLayout。...通过这三个功能,一个窗口能同时展示多项内容,并按逻辑功能分类。

1.7K90

python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例

PyQt5表格控件QTableView简介 在通常情况下,一个应用需要和一批数据进行交互,然后表格的形式输出这些信息,这时就需要用到QTableView类了,在QTableView中可以使用自定义的数据模型来显示内容...,通过setModel来绑定数据源 QTableWidget继承自QTableView,主要区别是QTableView可以使用自定义的数据模型来显示内容(先通setModel来绑定数据源),而QTableWidget...自能使用标准的数据模型,并且其单元格数据是通过QTableWidgetItem对象实现的,通常QTableWidget就能够满足我们的要求 QTableView可用的模式 QTableView控件可以绑定一个模型数据用来更新控件上的内容...__init__(parent) #设置标题与初始大小 self.setWindowTitle('QTableView表格视图的例子') self.resize(500,300)...可以添加一下代码 #水平方向标签拓展剩下的窗口部分,填满表格 self.tableView.horizontalHeader().setStretchLastSection(True) #水平方向,表格大小拓展到适当的尺寸

5.3K22
领券