方法 image.png image.png -- coding: utf-8 -- ''' 【简介】 PyQt5中 QListView 例子 ''' from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QListView, QMessageBox from PyQt5.QtCore import QStringListModel QWidget): def init(self, parent=None): super(ListViewDemo, self).init(parent) self.setWindowTitle("QListView 例子") self.resize(300, 270) layout = QVBoxLayout() listView = QListView() slm = QStringListModel listView) self.setLayout(layout) def clicked(self, qModelIndex): QMessageBox.information(self, "QListView
创建QListView self.listView = QtWidgets.QListView(self.centralwidget) self.listView.setGeometry(QtCore.QRect (0, 30, 241, 631)) self.listView.setObjectName("listView") 往QListView添加行数据 string_model = QStringListModel
将一批数据list加入到QListView slm = QStringListModel() # 创建model slm.setStringList(['111', ' self.listView.selectedIndexes() if indexes: index = indexes[0] slm.removeRow(index.row()) 给QListView "添加") popMenu.addAction("修改") popMenu.addAction("删除") popMenu.exec_(QCursor.pos()) 清空QListView QStringListModel() # 创建model slm.setStringList([]) # 将数据设置到model self.listView.setModel(slm) 给QListView MainWindow) self.centralwidget.setObjectName("centralwidget") self.listView = QtWidgets.QListView
创建一个自定义的TodoView类,继承自QListView。TodoView接受一个TodoModel实例作为参数,并将其设置为视图的模型。这使得视图可以显示和操作数据模型中的数据。 QStandardItemModelfrom PySide6.QtWidgets import QAbstractItemView, QApplication, QHBoxLayout, QLineEdit, QListView item.setIcon(QIcon('os_ubuntu_icon.png')) item.setEnabled(False)class TodoView(QListView
类 QListView类用于展示数据,它的子类是QListWidget类。 QListView是基于模型(Model)的,需要程序来建立模型,然后再保存数据。 QListWidget是一个升级版本的QListView,它已经建立了一个数据存储模(QListWidgetltem),直接调用addltem()函数,就可以添加条目(ltem)。 QListView类中的常用方法如下表所示: QListView类中的常用信号如下表所示: 通过示例了解QListView类的使用方法,效果如下所示: 示例中,将QListView控件的clicked 信号与自定义对象的clicked()槽函数进行绑定,当单击QListView控件里Model中的一项时会弹出消息框(提示选择的是哪─项)。
1.QListWidget和QListView QListWidget是继承QListView,QListView是基于Model的,需要自己来建模(如建立QStringListModel,QSqlTableModel 等),保存数据,这样就大大降低了数据冗余,提高了程序的效率,但是需要我们对数据建模有一定的了解,而QListWidget是一个升级版本的QListView,它已经为我们建立了一个数据存储模型QListWidgetItem */ } QListView::item:alternate { background: #EEEEEE; } QListView::item:selected { border : 1px solid #6a6ea9; } QListView::item:selected:! spm=1001.2014.3001.5502 QListView详解 https://blog.csdn.net/wzz953200463/article/details/123646413?
::IconMode,若为QListView::ListMode,则是一行一行的显示。 QListView是基于Model,而QListWidget是基于Item。这是它们的本质区别。 ::IconMode );//使用图标显示方式 list.setResizeMode(QListView::Adjust);//设置QListView大小改变时,图标的调整模式,默认是固定的,但可以改成自动调整 : list.setMovement(QListView::Static);//设置图标可不可以移动,默认是可移动的,但可以改成静态的: for(int i =0; i < 100 ; i 比如,我们使用下面的语句: list->setViewMode(QListView::IconMode); 再来看看程序界面吧!
(包括隐藏的项). 4.void setViewMode(QListView::); //设置QListWidget对象的显示模式.默认是列表模式. 第一种:QListView::ListMode. //列表模式. 第二种:QListView::IconMode. 两者的本质区别是:QListWidget是基于Item,而QListView是基于Model的。 QListWidget是继承QListView,QListView是基于Model的,需要自己来建模(如建立QStringListModel,QSqlTableModel等),保存数据,这样就大大降低了数据冗余 想要有更灵活的列表视图,请使用具有标准模型的QListView类。
QListWidget m_list // 假如 m_list 添加了很多子项 (一个子项由 一个图片和一段文字组成) // 如果设置为 m_second_list->setViewMode(QListView ::IconMode); // 那么m_list 子项就会从左到右横向的排列 图片和文字是上下排列. // 如果设置为 m_second_list->setViewMode(QListView ::ListMode); // 那么m_list 子项就会从上到下排列 图片和文字是从左到右排列. // 如果设置为 m_second_list->setFlow(QListView::LeftToRight ); // 那么m_list 子项就会从左到右横向的排列 图片和文字也是从左到右排列. // 如果设置为 m_second_list->setFlow(QListView::TopToBottom
类 QListView类用于展示数据,它的子类是QListWidget类。 QListView是基于模型(Model)的,需要程序来建立模型,然后再保存数据。 QListWidget是一个升级版本的QListView,它已经建立了一个数据存储模(QListWidgetltem),直接调用addltem()函数,就可以添加条目(ltem)。 QListView类中的常用方法如下表所示: QListView类中的常用信号如下表所示: 通过示例了解QListView类的使用方法,效果如下所示: 示例中,将QListView控件的clicked 信号与自定义对象的clicked()槽函数进行绑定,当单击QListView控件里Model中的一项时会弹出消息框(提示选择的是哪─项)。
PySide——Python图形化界面入门教程(六) ——QListView和QStandardItemModel 翻译自:http://pythoncentral.io/pyside-pyqt-tutorial-qlistview-and-qstandarditemmodel PySide的QStandardItemModel 我们首先从讨论QListView来开始。 QListView可以像其他的QWidget一样进行实例化——你是不是对每次讲一个widget都说这句话感到厌烦了? 这就是说,QListView构造器接收一个可选的参数parent: list = QListView(parent) 现在我们的列表需要一个模型来管理它的数据。 我们让QListView成为主窗口来尽可能的简化,就像其它任何QWidget作为主窗口的例子一样进行最基本的设置: 1 list = QListView() 2 list.setWindowTitle(
实现 基于QListWidget实现 QListWidget *view = new QListWidget; 设置为列表显示模式 view->setViewMode(QListView::ListMode ); 设置列表从左往右排列 view->setFlow(QListView::LeftToRight); 屏蔽水平与垂直的滑动条 view->setHorizontalScrollBarPolicy "ListWidget by Qt君")); view->resize(QSize(350, 50)); /* 设置为列表显示模式 */ view->setViewMode(QListView ::ListMode); /* 从左往右排列 */ view->setFlow(QListView::LeftToRight); /* 屏蔽水平滑动条 */ view
详细介绍可看博客: “QT学习2:Table/List/Tree的View,Widget,Model相关” ---- List View : List Widgets : QListView是基于Model QListWidget是继承QListView,QListView是基于model的,需要自己来建模(例如建立QStringListModel、QSqlTableModel等),保存数据,这样就大大降低了数据冗余 ,提高了程序的效率,但是需要我们对数据建模有一定了解,初学者就先不要考虑了,而QListWidget是一个升级版本的QListView,它已经自己为我们建立了一个数据存储模型(QListWidgetItem 即可添加项目(ICON,文字) 详细介绍可以看博客 “Qt入门-列表框QListWidget类” “Qt5.9中控件listWidget用法(QListWidget基本用法)” “QListWidget 和 QListView
(翻译自Model/View Tutorial,具体更多信息可参见Qt的Model/View Tutorial) 这次要和大家分享的是QListView,它为模型提供列表或图标视图。 QListView类是Model / View Classes之一,是Qt模型/视图框架的一部分。此类用于提供先前由QListBox和QIconView类提供的列表和图标视图。 parent) : QWidget(parent), ui(new Ui::Widget){ ui->setupUi(this); ui->listView->setMovement(QListView m_fileModel.setRootPath(FILENPATH); ui->listView->setModel(&m_fileModel); ui->listView->setViewMode(QListView
之前分享过使用qt QStorageInfo 类可以识别U盘,使用QListView可以显示文件,今天把这两个功能结合起来,并添加一个过滤文件的功能——识别U盘中特定后缀的文件。 设置文件所在路径 ui->listView->setModel(&m_fileModel); ui->listView->setViewMode(QListView 之后百度到了QDir有过滤文件的功能,但是我想用QListView显示,那QListView有没有这个功能呢?试下一下,发现有,太好了。。嘟嘟嘟。。
QStringListModel 是 Qt 中用于处理字符串列表数据的模型类之一,它是 QAbstractListModel 的子类,用于在 Qt 的视图类(如 QListView、QComboBox 如下图中所示,左侧是一个ListView组件,右侧是一个PlainTextEdit组件; 1.1 初始化模型 如下代码演示了如何在 MainWindow 中使用 QStringListModel 和 QListView 然后,通过 ui->listView->setModel(model) 将模型设置到 QListView 中,从而使模型中的数据在 QListView 中显示。 这样,通过 QStringListModel 和 QListView 的结合使用,可以很方便地在界面上展示和管理字符串列表的数据。 这样,通过这两个按钮的点击事件,可以向 QStringListModel 中添加或插入数据,并在 QListView 中进行显示。
许多PyQt窗口部件都支持拖放操作,如QColumnView,QHeaderView, QListView, QTableView 和 QTreeView,我们要做的只是打开支持模式使其工作即可。 如下的程序有两个列表控件(QListView),左边的列表控件使用默认模式,右边的列表控件使用图标模式。项目(QListWidgetItem)可以在它们之间拖放复制。 ?
const QString &text); ... }; 设置QListWidget: setFocusPolicy(Qt::NoFocus); /* 设置为列表显示模式 */ setViewMode(QListView ::ListMode); /* 从左往右排列 */ setFlow(QListView::LeftToRight); /* 屏蔽水平滑动条 */ setHorizontalScrollBarPolicy
indexB toolTip:"<<model.data(indexB,Qt::ToolTipRole).toString(); return a.exec(); } ---- 视图 Qt提供了QListView QListView将数据项显示为一个列表;QTableView将模型中的数据显示在一个表格中;QTreeView将模型中的数据项显示在具有层次的列表中。 include<QAbstractItemModel> #include<QAbstractItemView> #include<QDirModel> #include<QTreeView> #include<QListView endRemoveRows(); return true; } #include<QApplication> #include"stringlistmodel.h" #include<QListView ; StringListModel model(list);//创建模型 model.insertRows(3,2); model.removeRows(0,1); QListView
); // 手工创建的指针必须手工删除 delete ptr; } 代码运行效果如下: ListWidget同样支持一图标方式显示列表框内的元素,只需要设置setViewMode(QListView delete action" << std::endl; }); // 第二个ListWidget_使用图标方式展示 ui->listWidget_2->setViewMode(QListView