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从ftp下载数据保存实例
Nov 20 Python
浅析python 中__name__ = '__main__' 的作用
Jul 05 Python
Python中dictionary items()系列函数的用法实例
Aug 21 Python
用python写的一个wordpress的采集程序
Feb 27 Python
Python算法之图的遍历
Nov 16 Python
Flask模拟实现CSRF攻击的方法
Jul 24 Python
Python threading的使用方法解析
Aug 28 Python
pytorch多GPU并行运算的实现
Sep 27 Python
dpn网络的pytorch实现方式
Jan 14 Python
python中random.randint和random.randrange的区别详解
Sep 20 Python
python 多线程中join()的作用
Oct 29 Python
关于Python3的import问题(pycharm可以运行命令行import错误)
Nov 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操作xml入门之cdata区段
2015/01/23 PHP
PHP性能优化大全(php.ini)
2016/05/20 PHP
PHP实现二维数组按某列进行排序的方法
2016/11/18 PHP
PHP实现的统计数据功能详解
2016/12/06 PHP
PHP生成加减算法方式的验证码实例
2018/03/12 PHP
php7下的filesize函数
2019/09/30 PHP
jquery 插件学习(四)
2012/08/06 Javascript
用按钮控制iframe显示的网页实现方法
2013/02/04 Javascript
Node.js编码规范
2014/07/14 Javascript
jquery+php实现搜索框自动提示
2014/11/28 Javascript
超级简单的jquery操作表格方法
2014/12/15 Javascript
jquery+css实现绚丽的横向二级下拉菜单-附源码下载
2015/08/23 Javascript
gameboy网页闯关游戏(riddle webgame)--仿微信聊天的前端页面设计和难点
2016/02/21 Javascript
深入浅出ES6之let和const命令
2016/08/25 Javascript
Bootstrap基本模板的使用和理解1
2016/12/14 Javascript
Vue.js学习教程之列表渲染详解
2017/05/17 Javascript
对vue2.0中.vue文件页面跳转之.$router.push的用法详解
2018/08/24 Javascript
JS数组降维的实现Array.prototype.concat.apply([], arr)
2020/04/28 Javascript
react 生命周期实例分析
2020/05/18 Javascript
Vue toFixed保留两位小数的3种方式
2020/10/23 Javascript
Python中的模块和包概念介绍
2015/04/13 Python
使用Python和xlwt向Excel文件中写入中文的实例
2018/04/21 Python
用Python PIL实现几个简单的图片特效
2019/01/18 Python
详解python执行shell脚本创建用户及相关操作
2019/04/11 Python
基于Python爬取搜狐证券股票过程解析
2020/11/18 Python
python 三种方法实现对Excel表格的读写
2020/11/19 Python
python爬虫使用scrapy注意事项
2020/11/23 Python
Python+MySQL随机试卷及答案生成程序的示例代码
2021/02/01 Python
马克华菲官方商城:Mark Fairwhale
2016/09/04 全球购物
Quiksilver美国官网:始于1969年的优质冲浪服和滑雪板外套
2020/04/20 全球购物
公司成立感言
2014/01/11 职场文书
肖申克的救赎观后感
2015/06/02 职场文书
整脏治乱工作简报
2015/07/21 职场文书
python 实现图与图之间的间距调整subplots_adjust
2021/05/21 Python
mysql下的max_allowed_packet参数设置详解
2022/02/12 MySQL
Nginx 安装SSL证书完成HTTPS部署
2022/04/28 Servers