#-*- coding:utf-8 -*- #######line table 使用 from PyQt4.QtCore import * from PyQt4.QtGui import * import sys class MyWindow(QDialog,QWidget): def __init__(self,parent = None): super(MyWindow,self).__init__(parent) self.resize(400,400) self.mainlayout = QGridLayout(self) self.myTable = QTableWidget() self.mainlayout.addWidget(self.myTable) self.tableSetting() def tableSetting(self): self.myTable.setRowCount(3)########设置table的列数 self.myTable.setColumnCount(3) #######设置table列数 self.myTable.setColumnWidth(0,60)####设置第一列的宽度 self.myTable.setHorizontalHeaderLabels([u"控件",u" 文字 ",u"图片"]) ######设置标题栏 self.myTable.resizeColumnToContents(1) #####第二列根据标题自适应 self.myTable.setSelectionBehavior(QAbstractItemView.SelectRows) ###设置一次选中一行 self.myTable.setEditTriggers(QAbstractItemView.NoEditTriggers) ###设置表格禁止编辑 self.myTable.setContextMenuPolicy(Qt.CustomContextMenu)######允许右键产生子菜单 self.myTable.customContextMenuRequested.connect(self.generateMenu) ####右键菜单 #########设置表格内容 self.setTableContext() def generateMenu(self,pos): print pos row_num = -1 for i in self.myTable.selectionModel().selection().indexes(): row_num = i.row() menu = QMenu() item1 = menu.addAction(u"选项一") item2 = menu.addAction(u"选项二") item3 = menu.addAction(u"选项三" ) action = menu.exec_(self.myTable.mapToGlobal(pos)) if action == item1: print u'您选了选项一,当前行文字内容是:',self.myTable.item(row_num,1).text() elif action == item2: print u'您选了选项二,当前行文字内容是:',self.myTable.item(row_num,1).text() elif action == item3: print u'您选了选项三,当前行文字内容是:',self.myTable.item(row_num,1).text() else: return def setTableContext(self): ctrlListCheckBox = [i for i in xrange(3)] for i in xrange(3): self.setRowData(i,ctrlListCheckBox) def setRowData(self,row,ctrl): ##########在table中添加控件 ctrl[row] = QCheckBox() ctrl[row].setChecked(False) ctrl[row].clicked.connect(lambda:self.selectDev(ctrl[row].checkState(),row)) self.myTable.setCellWidget(row,0,ctrl[row]) ########table中添加文字 nameItem = QTableWidgetItem("item"+str(row)) self.myTable.setItem(row,1,nameItem) ########table中添加图片,线添加label控件 再添加图片 self.label_pic = QLabel() self.label_pic.setPixmap(QPixmap(str(row)+".jpg")) self.myTable.setCellWidget(row,2,self.label_pic) def selectDev(self,check_state,row): print 'check_state:',check_state print 'row:',row app=QApplication(sys.argv) window=MyWindow() window.show() app.exec_()
相关推荐
Qt--QTablewidgets 表格插入图片,且可以自动调整图片的大小
QTablewidget 调整表格图片大小 def set_qtableWidgets(self,filName_path,head_labels,width=100,height=100): self.tableWidget.update() images_list=[] try: images_list = os.listdir(filName_path) if (len(images_list) =
Pyqt5 QTableWidget/QTableView 行表头添加复选框全选功能
pyqt5 QTableWidget/QTableView表头复选框源码
PyQt5桌面GUI开发:从信号槽到多线程的Python跨平台实践
桌面GUI开发是软件工程中的重要领域,它涉及创建用户可直接交互的图形界面应用程序。其核心原理在于事件驱动编程模型,通过响应用户输入和系统事件来更新界面状态。在技术价值层面,优秀的GUI框架能显著提升开发效率、增强应用稳定性和跨平台兼容性。Python作为主流编程语言,在数据分析、机器学习等领域广泛应用,而PyQt5正是连接Python生态与专业级桌面开发的关键桥梁。它基于成熟的Qt框架,通过信号与槽机制实现松耦合通信,支持模型/视图架构处理大数据展示,并提供了QThread解决方案来避免界面卡顿。这些特性使
在 PyQt 中动态向表格中添加控件是一个常见需求。本文将介绍如何在 PyQt 表格中添加控件,并且使用 Python 代码进行实现。
这个表格的创建可以通过 Qt Designer 工具来完成,也可以使用代码自己创建。在 PyQt 中动态向表格中添加控件是一个常见需求。本文将介绍如何在 PyQt 表格中添加控件,并且使用 Python 代码进行实现。上述代码会向第一行第二列的单元格中添加一个按钮,并且为这个按钮添加了一个点击事件。至此,我们已经知道了如何在 PyQt 表格中添加控件。以上代码可以帮助您理解如何实现表格中添加控件的功能。上述代码会创建一个包含 3 行 2 列的表格,并且在每个单元格中填写了一些文本。
pyqt-QTableWidget使用
pyqt-QTableWidget使用 QTableWidget中各种触发的信号和操作 PyQT5 中的QTableWidget 信号 https://blog.csdn.net/yfcjava/article/details/103501364 QTable插入图片 PyQt5 QTable插入图片并动态更新的实例 https://www.jb51.net/article/163358.html ...
PyQt学习笔记:动态添加控件
预期功能:界面上有一个按钮,点击之后,能够在界面上添加一个控件组,控件组内包括:label,LineEdit,ToolButton等,能多次添加,bqie
【PyQt5右键菜单终极指南】:手把手教你实现QTableWidget右键菜单功能
掌握PyQt5 QTableWidget添加右键菜单的完整实现方法,解决上下文操作难题。涵盖信号槽机制、菜单事件绑定及常用功能示例,适用于数据表格操作场景。手把手教学,代码清晰易懂,值得收藏。
pyqt5v QTableWidget
前言 QTableWidget是Qt程序中常用的显示数据表格的控件,类似于c#中的DataGrid。QTableWidget是QTableView的子类,它使用标准的数据模型,并且其单元数据是通过QTableWidgetItem对象来实现的,使用QTableWidget时就需要QTableWidgetItem。用来表示表格中的一个单元格,整个表格就是用各个单元格构建起来的 QTableWidget类中的常用方法 方法 描述 setROwCount(int row) 设置QTableWi
pyqt鸟瞰
内置银行家算法
PyQt5入门指南:从零构建专业级Python桌面应用
图形用户界面(GUI)编程是现代软件开发的核心技能之一,它通过可视化组件实现人机交互,极大提升了软件的易用性和功能性。其底层原理基于事件驱动模型,通过响应用户操作来执行相应逻辑。在Python生态中,PyQt5作为Qt框架的Python绑定,提供了强大的技术价值,能够帮助开发者快速构建跨平台、功能丰富的桌面应用程序。PyQt5不仅支持复杂的界面布局和丰富的控件库,还通过信号与槽机制实现了松耦合的组件通信,显著提升了代码的可维护性。在应用场景上,它广泛适用于数据可视化工具、内部管理系统、科学计算界面等需要专业
PyQt5桌面GUI开发全解析:从核心原理到项目实战
桌面应用开发是软件工程的重要领域,其核心在于构建用户与系统交互的图形界面。PyQt5作为Python对Qt框架的完整绑定,继承了Qt近30年积累的跨平台能力与丰富组件库,通过信号槽机制实现高效的事件驱动编程。这一技术组合让开发者能够用Python快速构建专业级桌面软件,同时保持与原生C++应用相近的性能表现。在工程实践中,PyQt5特别适合数据处理工具、科学计算平台和工业控制软件的开发,其成熟的生态和稳定的API使其成为众多生产项目的首选。本文深入探讨PyQt5在GUI开发中的核心优势,并解析其与PySid
基于YOLOv8与PyQt5的水稻害虫智能检测系统开发
目标检测是计算机视觉的核心技术,通过深度学习算法实现物体识别与定位。YOLOv8作为当前最先进的实时检测框架,采用anchor-free设计和任务对齐机制,在保持高速推理的同时提升小目标检测能力。结合PyQt5跨平台GUI框架,可构建完整的智能检测系统。这类技术在农业植保领域具有重要应用价值,如水稻害虫自动识别系统能显著提升病虫害监测效率。系统通过5229张标注图像训练,实现6类常见害虫85%以上的检测准确率,单图处理时间小于0.1秒,为精准农业提供可靠的技术支持。
基于YOLOv8与PyQt5的120种犬类智能识别系统开发实战
目标检测是计算机视觉的核心任务之一,旨在定位并识别图像中的物体。其原理通常基于深度学习模型,通过卷积神经网络提取特征,并预测物体的边界框与类别。这项技术的价值在于将视觉信息转化为结构化数据,广泛应用于安防监控、自动驾驶、工业质检及智能零售等领域。本文聚焦于细粒度目标识别这一具体挑战,以犬类品种识别为应用场景,详细阐述了如何利用YOLOv8这一先进的实时目标检测框架,结合PyQt5桌面开发技术,构建一个包含完整数据处理、模型训练、界面开发与部署流程的实战项目。项目涉及数据增强、模型调优、多线程界面设计等关键工
PyQt Designer入门:可视化GUI设计与Python桌面应用开发实战
图形用户界面(GUI)开发是软件工程中的重要领域,它通过可视化组件实现人机交互。其核心原理在于事件驱动编程模型,即用户操作触发事件,程序通过信号与槽机制响应。这项技术的价值在于将界面逻辑与业务逻辑分离,大幅提升开发效率和可维护性。在应用场景上,GUI工具广泛应用于数据分析可视化、自动化脚本封装、内部工具开发等领域。PyQt Designer作为PyQt5的官方界面设计器,正是实现这一目标的利器。它采用拖拽式操作,支持布局管理器和样式表(QSS),能快速生成.ui文件,并通过pyuic5工具与Python代码
YOLO目标检测实战:从数据准备到PyQt5桌面应用开发全流程
目标检测是计算机视觉领域的核心技术之一,它通过定位和识别图像中的多个对象,解决了传统图像分类任务无法处理的“在哪里”和“是什么”问题。其核心原理通常基于深度学习模型,如YOLO系列,通过单次前向传播即可完成边界框回归和类别预测,在速度和精度之间取得平衡。这项技术的价值在于将算法能力转化为实际可用的产品,广泛应用于安防监控、自动驾驶、工业质检等场景。本文以手写数字识别为例,详细介绍了如何利用YOLO模型和PyQt5框架,构建一个完整的桌面应用程序,涵盖了从数据集准备、模型训练调参到图形界面封装和系统部署的全过
基于YOLOv8与PyQt5的智能肺炎X光辅助诊断系统开发实战
目标检测是计算机视觉的核心任务之一,旨在识别图像中特定目标的位置与类别。其原理是通过深度学习模型,如卷积神经网络,自动学习图像特征并预测边界框与类别概率。该技术在工业质检、自动驾驶、安防监控等领域具有重要价值。在医疗影像分析中,目标检测技术能精准定位病灶区域,为医生提供直观的辅助诊断信息。本文聚焦于肺炎X光片的智能分析,详细阐述了如何利用YOLOv8这一先进的深度学习框架进行病灶检测,并结合PyQt5构建图形用户界面,实现从数据准备、模型训练到可交互诊断工具的全流程工程实践。
基于YOLO系列与PyQt5的夜间红外小目标检测系统全流程解析
目标检测是计算机视觉领域的核心任务之一,旨在从图像或视频中定位并识别出感兴趣的目标。其原理通常基于深度学习模型,通过卷积神经网络提取特征,并利用回归或分类头输出目标的位置与类别。这项技术的价值在于能自动化完成海量视觉数据的分析,极大地提升了安防监控、自动驾驶、工业质检等场景的效率和精度。在众多应用场景中,夜间或低光照环境下的目标检测尤为关键且富有挑战。本文聚焦于利用红外热成像技术解决这一难题,并重点探讨了如何集成YOLO系列算法与PyQt5框架,构建一套完整的红外小目标检测系统。该系统通过引入Mosaic数
基于YOLOv5的工业瓶盖缺陷检测系统:从模型训练到PyQt5界面开发全流程实战
目标检测是计算机视觉的核心任务之一,旨在识别图像中特定目标的位置与类别。其原理通常基于深度学习模型,通过卷积神经网络提取特征并进行分类与定位。这项技术的核心价值在于将智能感知能力赋予机器,实现自动化、高精度的视觉分析。在工业制造领域,自动化质检是目标检测的典型应用场景,它能够替代传统人眼检测,大幅提升生产效率和产品一致性。本文聚焦于工业质检中的具体实践,详细介绍了如何利用YOLOv5这一经典目标检测模型,构建一个完整的瓶盖缺陷检测系统。内容涵盖从数据采集标注、模型训练调优,到推理引擎封装、性能优化,并最终通
基于YOLO与PyQt5的风力涡轮机智能检测系统实战指南
目标检测是计算机视觉的核心任务之一,旨在识别图像中的特定物体并定位其位置。其原理通常基于深度学习模型,通过卷积神经网络提取特征,并回归出目标的边界框与类别。这项技术在工业自动化、安防监控、自动驾驶等领域具有极高的技术价值,是实现机器视觉感知的关键。在新能源运维领域,风力涡轮机的定期巡检是一项重要且高成本的作业。传统人工巡检方式效率低下且存在安全风险。本文聚焦于如何利用先进的YOLO系列目标检测模型,结合PyQt5桌面框架,构建一个高效、精准的风力涡轮机智能检测系统。该系统能够自动识别风机部件(如叶片、塔筒)
2330




被折叠的 条评论
为什么被折叠?



