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处理python编码问题
Mar 13 Python
python中使用pyhook实现键盘监控的例子
Jul 18 Python
python编写爬虫小程序
May 14 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
Jul 24 Python
Python实现文件内容批量追加的方法示例
Aug 29 Python
浅谈Python实现Apriori算法介绍
Dec 20 Python
python中的字典操作及字典函数
Jan 03 Python
python pygame模块编写飞机大战
Nov 20 Python
Python运行提示缺少模块问题解决方案
Apr 02 Python
如何将PySpark导入Python的放实现(2种)
Apr 26 Python
Python eval函数介绍及用法
Nov 09 Python
Python数据分析之绘图和可视化详解
Jun 02 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+iframe实现隐藏无刷新上传文件
2012/02/10 PHP
探讨多键值cookie(php中cookie存取数组)的详解
2013/06/06 PHP
微信公众平台天气预报功能开发
2014/07/06 PHP
PHP常用技术文之文件操作和目录操作总结
2014/09/27 PHP
php+ajax无刷新上传图片实例代码
2015/11/17 PHP
老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略
2016/03/20 PHP
Zend Framework路由器用法实例详解
2016/12/11 PHP
phpcms的分类名称和类别名称的调用
2017/01/05 PHP
php实现xml转换数组的方法示例
2017/02/03 PHP
js实现ASP分页函数 HTML分页函数
2006/09/22 Javascript
修改jQuery Validation里默认的验证方法
2012/02/14 Javascript
jquery ajax局部加载方法详解(实现代码)
2016/05/12 Javascript
BootStrap入门教程(三)之响应式原理
2016/09/19 Javascript
Bootstrap表单控件使用方法详解
2017/01/11 Javascript
JavaScript无操作后屏保功能的实现方法
2017/07/04 Javascript
基于BootStrap实现简洁注册界面
2017/07/20 Javascript
JavaScript数组排序reverse()和sort()方法详解
2017/12/24 Javascript
jQuery实现参数自定义的文字跑马灯效果
2018/08/15 jQuery
Jquery遍历筛选数组的几种方法和遍历解析json对象,Map()方法详解以及数组中查询某值是否存在
2019/01/18 jQuery
Vue Prop属性功能与用法实例详解
2019/02/23 Javascript
微信小程序实现左侧滑栏过程解析
2019/08/26 Javascript
vue中的过滤器及其时间格式化问题
2020/04/09 Javascript
微信小程序实现聊天室
2020/08/21 Javascript
[01:57]DOTA2上海特锦赛小组赛解说单车采访花絮
2016/02/27 DOTA
Python中的fileinput模块的简单实用示例
2015/07/09 Python
python石头剪刀布小游戏(三局两胜制)
2021/01/20 Python
了解不常见但是实用的Python技巧
2019/05/23 Python
Pycharm编辑器功能之代码折叠效果的实现代码
2020/10/15 Python
处理textarea中的换行和空格
2019/12/12 HTML / CSS
进口业务员岗位职责
2014/04/06 职场文书
试用期转正后的自我评价
2014/09/21 职场文书
幼儿园六一儿童节演讲稿
2015/03/19 职场文书
百年孤独读书笔记
2015/06/29 职场文书
教师学习中国梦心得体会
2016/01/05 职场文书
Python下载商品数据并连接数据库且保存数据
2022/03/31 Python
bose降噪耳机音能消除人声吗
2022/04/19 数码科技