PyQt5中向单元格添加控件的方法示例


Posted in Python onMarch 24, 2020

1、简介

pyqt 列表 单元格中 不仅可以添加数据,还可以添加控件。

我们尝试添加下拉列表、一个按钮试试。

PyQt5中向单元格添加控件的方法示例

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 快速开发与实践

到此这篇关于PyQt5中向单元格添加控件的方法示例的文章就介绍到这了,更多相关PyQt5 单元格添加控件内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python中dir函数用法分析
Apr 17 Python
Java多线程编程中ThreadLocal类的用法及深入
Jun 21 Python
Linux上安装Python的PIL和Pillow库处理图片的实例教程
Jun 23 Python
Python3实战之爬虫抓取网易云音乐的热门评论
Oct 09 Python
Django权限机制实现代码详解
Feb 05 Python
Python中对数组集进行按行打乱shuffle的方法
Nov 08 Python
Python如何实现线程间通信
Jul 30 Python
Python如何执行系统命令
Sep 23 Python
Anaconda使用IDLE的实现示例
Sep 23 Python
python在linux环境下安装skimage的示例代码
Oct 14 Python
使用OpenCV校准鱼眼镜头的方法
Nov 26 Python
Python控制台输出俄罗斯方块移动和旋转功能
Apr 18 Python
Python多线程Threading、子线程与守护线程实例详解
Mar 24 #Python
PYQT5 vscode联合操作qtdesigner的方法
Mar 24 #Python
ubuntu 安装pyqt5和卸载pyQt5的方法
Mar 24 #Python
Python socket连接中的粘包、精确传输问题实例分析
Mar 24 #Python
Pyqt5 关于流式布局和滚动条的综合使用示例代码
Mar 24 #Python
Python+Appium实现自动化测试的使用步骤
Mar 24 #Python
Python3标准库之dbm UNIX键-值数据库问题
Mar 24 #Python
You might like
PHP取二进制文件头快速判断文件类型的实现代码
2013/08/05 PHP
封装ThinkPHP的一个文件上传方法实例
2014/10/31 PHP
php生成rss类用法实例
2015/04/14 PHP
PHP设计模式之观察者模式实例
2016/02/22 PHP
PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
2017/07/19 PHP
PHP使用Redis长连接的方法详解
2018/02/12 PHP
ExtJS 2.2.1的grid控件在ie6中的显示问题
2009/05/04 Javascript
javascript parseInt与Number函数的区别
2010/01/21 Javascript
js页面跳转常用的几种方式
2010/11/25 Javascript
从零开始学习jQuery (四) jQuery中操作元素的属性与样式
2011/02/23 Javascript
jquery判断元素是否隐藏的多种方法
2014/05/06 Javascript
js拼接html注意问题示例探讨
2014/07/14 Javascript
使用js画图之正弦曲线
2015/01/12 Javascript
JQuery中DOM事件绑定用法详解
2015/06/13 Javascript
常用原生JS兼容性写法汇总
2016/04/27 Javascript
关于数据与后端进行交流匹配(点亮星星)
2016/08/03 Javascript
Jquery调用iframe父页面中的元素及方法
2016/08/23 Javascript
将 vue 生成的 js 上传到七牛的实例
2017/07/28 Javascript
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
2019/05/17 jQuery
基于Vue的商品主图放大镜方案详解
2019/09/19 Javascript
Python psutil模块简单使用实例
2015/04/28 Python
Python字符串格式化输出方法分析
2016/04/13 Python
Python时间获取及转换知识汇总
2017/01/11 Python
python 安装virtualenv和virtualenvwrapper的方法
2017/01/13 Python
浅谈Python中的可变对象和不可变对象
2017/07/07 Python
Python数据结构与算法之图结构(Graph)实例分析
2017/09/05 Python
python @property的用法及含义全面解析
2018/02/01 Python
Django学习笔记之ORM基础教程
2018/03/27 Python
python3实现字符串的全排列的方法(无重复字符)
2018/07/07 Python
分析经典Python开发工程师面试题
2019/04/08 Python
党员个人对照检查材料范文
2014/09/24 职场文书
博士给导师的自荐信
2015/03/06 职场文书
Nginx代理同域名前后端分离项目的完整步骤
2021/03/31 Servers
Python绘制分类图的方法
2021/04/20 Python
python入门之算法学习
2021/04/22 Python
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
2021/05/17 Python