【pyqt5学习】——items view相关控件(list view、table view)

目录

list view——列表视图

table view——表格视图


list view——列表视图

PyQt5-高级控件使用(QListView) - ygzhaof_100 - 博客园QListView用于展示数据,子类是QListWidget。QlistView基于模型Mode,需要程序创建Model然后保存数据; QListWidget是一个升级版的QlistView,它建立了https://www.cnblogs.com/ygzhaof/p/10077192.html

PyQt5高级界面控件之QLIstView(二)_jia666666的博客-CSDN博客QListView前言 QlistView类用于展示数据,它的子类是QListWIdget。QListView是基于模型(Model)的,需要程序来建立模型,然后再保存数据 QListWidget是一个升级版本的QListView,它已经建立了一个数据储存模型(QListWidgetItem),直接调用addItem()函数,就可以添加条目(Item)QListView类中...https://blog.csdn.net/jia666666/article/details/81624550 

创建一个list view步骤

1、创建一个APP

2、创建一个窗口

3、在窗口中创建一个列表视图

4、创建一个列表模(用于存放数据)

5、创建一个数据源

6、将数据源加载到列表模型中

7、将列表模型加载到列表视图中

8、添加点击事件等其他

# list view控件,主要以列表的形式显示条目,即一行一行显示,当选中\单击\双击某个条目时,可以发射信号
class listView():
	def __init__(self):
		self.listView()

	def listView(self):
		app = QApplication(sys.argv)
		windown = QWidget()
		windown.resize(500,500)

		# 创建列表视图
		listview = QListView(windown)
		# 创建列表模型
		listviewModel = QStringListModel()
		# 创建列表形式的列表数据
		self.listitems = ["items1","items2","items3"]

		# 将列表数据加载到列表模型中
		listviewModel.setStringList(self.listitems)
		# 将列表模型加载到列表视图中
		listview.setModel(listviewModel)

		# 创建label
		self.label = QLabel(windown)
		self.label.move(300,0)
		self.label.resize(100,100)
		# 设置响应事件
		# 单击触发自定义的槽函数
		listview.clicked.connect(self.listViewSlot)

		windown.show()
		sys.exit(app.exec_())

	def listViewSlot(self,listViewModelIndex):
		print(self.listitems[listViewModelIndex.row()])
		self.label.setText(self.listitems[listViewModelIndex.row()])

listView()

 

table view——表格视图

PyQt5-高级控件使用(QTableView) - ygzhaof_100 - 博客园icon-default.png?t=LA92https://www.cnblogs.com/ygzhaof/p/10076308.html

创建一个table view步骤

1、创建一个APP

2、创建一个窗口

3、在窗口中创建一个表格视图

4、创建一个表格模型(用于存放数据)

5、往表格模型中添加数据

6、将表格模型加载到表格视图中

7、添加点击事件等其他

class tableView():
	def __init__(self):
		self.tableview()
	
	def tableview(self):
		app = QApplication(sys.argv)
		windown = QWidget()
		windown.resize(500,500)
		
		# 创建一个表格视图
		table = QTableView(windown)
		table.resize(500,500)
		# 创建一个4*4表格数据模型
		tableModel = QStandardItemModel(4,4)
		# 设置表头
		tableModel.setHorizontalHeaderLabels(["column1","column2","column3","column4"])
		# 向模型中添加数据
		for i in range(4):
			for j in range(4):
				# 需要添加的内容
				item = QStandardItem("(%d,%d)"%(i,j))
				tableModel.setItem(i,j,item) # 在第i行第j列添加内容item

		# 将表格模型加载到表格视图中
		table.setModel(tableModel)

		# 显示
		windown.show()

		sys.exit(app.exec_())

tableView()

 

 

 如果涉及删除、添加等操作,建议使用table widget 或者 list widget

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
你可以通过遍历一个QGridLayout中的所有QGraphicsView控件来实现循环读取。 首先,你需要在QGridLayout中添加所有的QGraphicsView控件。在这个例子中,我们将假设你已经创建了4个QGraphicsView控件,并将它们添加到一个QGridLayout中: ```python import sys from PyQt5.QtWidgets import QApplication, QWidget, QGridLayout, QGraphicsView class MyWidget(QWidget): def __init__(self): super().__init__() # 创建4个QGraphicsView控件 self.view1 = QGraphicsView() self.view2 = QGraphicsView() self.view3 = QGraphicsView() self.view4 = QGraphicsView() # 将所有控件添加到QGridLayout中 layout = QGridLayout() layout.addWidget(self.view1, 0, 0) layout.addWidget(self.view2, 0, 1) layout.addWidget(self.view3, 1, 0) layout.addWidget(self.view4, 1, 1) self.setLayout(layout) ``` 接下来,你可以通过以下代码来遍历所有的QGraphicsView控件,例如在一个按钮的点击事件中: ```python def on_button_clicked(self): # 遍历所有的QGraphicsView控件 for view in [self.view1, self.view2, self.view3, self.view4]: # 读取当前控件的内容 items = view.scene().items() for item in items: # 对每个item执行相关操作,例如获取坐标等等 pass ``` 当按钮被点击时,这个函数会遍历所有的QGraphicsView控件,并读取每个控件中的item。你可以在内部的循环中对每个item执行相关操作,例如获取坐标等等。 注意,在遍历QGraphicsView控件时,我们使用了一个列表,包含了所有的控件。如果你有更多或更少的控件,你需要相应地修改这个列表。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有情怀的机械男

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值