PyQt5中向单元格添加控件的方法示例
作者:放大的EZ 发布时间:2023-10-20 05:08:48
标签:PyQt5,单元格,控件
1、简介
pyqt 列表 单元格中 不仅可以添加数据,还可以添加控件。
我们尝试添加下拉列表、一个按钮试试。
setItem:将文本放到单元格中
setCellWidget:将控件放到单元格中
setStyleSheet:设置控件的样式(Qt StyleSheet)
2、功能实现
# -*- coding: utf-8 -*-
'''
【简介】
PyQT5中 单元格里面放控件
'''
import sys
from PyQt5.QtWidgets import (QWidget, QTableWidget, QHBoxLayout, QApplication, QTableWidgetItem, QAbstractItemView,
QComboBox, QPushButton)
class Table(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle("QTableWidget 例子")
self.resize(430, 300)
conLayout = QHBoxLayout() # 创建水平布局文件
tableWidget = QTableWidget() # 创建一个列表
tableWidget.setRowCount(4) # 设置行数
tableWidget.setColumnCount(3) # 设置列数
conLayout.addWidget(tableWidget) # 添加列表到布局
tableWidget.setHorizontalHeaderLabels(['姓名', '性别', '体重(kg)']) # 设置水平表头
newItem = QTableWidgetItem("张三") # 添加张三 到(0,0)
tableWidget.setItem(0, 0, newItem)
comBox = QComboBox() # 新建一个下拉组件
comBox.addItem("男")
comBox.addItem("女")
comBox.setStyleSheet("QComboBox{margin:3px};")
comBox.currentIndexChanged.connect(self.comboxSelect) #绑定combox select 事件
tableWidget.setCellWidget(0, 1, comBox) # 添加下拉组件到列表(0,1)
searchBtn = QPushButton("修改") # 新建一个按钮
searchBtn.setDown(True)
searchBtn.setStyleSheet("QPushButton{margin:3px};")
searchBtn.clicked.connect(self.butClick) #绑定按钮点击事件
tableWidget.setCellWidget(0, 2, searchBtn) # 添加按钮到列表(0,2)
self.setLayout(conLayout)
def comboxSelect(self,index):
print("combox select index",index)
def butClick(self):
print("button click")
if __name__ == '__main__':
app = QApplication(sys.argv)
example = Table()
example.show()
sys.exit(app.exec_())
文件参考:PyQt 快速开发与实践
来源:https://blog.csdn.net/qq_27061049/article/details/89875503


猜你喜欢
- 目录一、MySQL触发器创建:1、MySQL触发器的创建语法:2、MySQL创建语法中的关键词解释:3、触发执行语句内容(trigger_b
- 前言我们在写sql语句的时候,总是无法避免使用到连接关键词,比如内连接、外连接。种类是很多的,我在这里贴上一张在别处找到的图:这张图我认为是
- 加密接口怎么测试?(1)写个函数或者方法,把要加密的参数使用这个函数过滤一遍,等于就是说把数据丢进去,加密了之后,再通过这个加密好的数据传输
- vue中实现拖拽效果,供大家参考,具体内容如下首先要搞明白分清clientY pageY screenY layerY offsetY的区别
- 1. 用SimpleITK读取dicom序列:import SimpleITK as sitkimport numpy as npimg_p
- 本文实例讲述了python实现线程池的方法。分享给大家供大家参考。具体如下:原理:建立一个任务队列,然多个线程都从这个任务队列中取出任务然后
- 如下所示:###方法1:用shift函数,不用通过循环import pandas as pdimport numpy as npimport
- 一、两层结构的ASP应用有何缺点 在Browser/Server 应用程序开发领域,微软公司的IIS/ASP以其强大的功能,良好的扩展能力,
- 一、背景1.项目描述你拥有一个超市(Supermarket Mall)。通过会员卡,你用有一些关于你的客户的基本数据,如客户ID,年龄,性别
- mysql表索引被破坏的问题及解决下午上班,惊闻我的dedecms的网站出问题了,访问一看,果然全屏报错,检查mysql日志,错误信息为:
- 在matplotlib中,imshow方法用于绘制热图,基本用法如下import matplotlib.pyplot as pltimpor
- 这片文章大体概括了一些设计网页中的大问题。希望能给你做下一个网页时给予一些儿启发。1、记住:你能掌控的时间是有限的我仅仅用4秒钟就能浏览完平
- 本文实例为大家分享了用python实现五子棋的具体代码,供大家参考,具体内容如下# 制作一个棋盘"""++++
- 本文实例为大家分享了python统计序列中元素的具体代码,供大家参考,具体内容如下问题1: &
- 今天在公司实在没有事做,突然就想到写下商城的购物车的前端框架,当然我这里只有购物车的增删改查,也许写的并不是那么完善,但最重要的是一个入门,
- 1.什么是JDBCJDBC是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口
- 本文实例讲述了Python正则表达式分组概念与用法。分享给大家供大家参考,具体如下:正则表达式分组分组就是用一对圆括号“()”括起来的正则表
- 友情提示,您阅读本篇博文的先决条件如下:1、本文示例基于Microsoft SQL Server 2008 R2调测。2、具备 Transa
- 学了几天正则,差不多该总结整理写成果了,之前就想写语法高亮匹配来着,不过水平不够,看着例子都不理解。那么我们来分析下两位大神 次碳酸钴 和
- 一、可以使用以下步骤获取两个以逗号分割的字符串的并集:使用explode函数将两个字符串转换为数组,以便可以对其执行操作。使用array_m