pyqt5 QListWidget的用法解析
1、简介
QListWidget 是一个升级版本的QListView , 它已经建立一个基于数据存储模型(QListWidgetItem),直接调用addItem()函数就可以添加条目(Item)。
2、功能实现
# -*- coding: utf-8 -*- ''' 【简介】 PyQt5中 QListWidget 例子 ''' import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * class ListWidget(QListWidget): def clicked(self,item): QMessageBox.information(self, "ListWidget", "你选择了: "+item.text())# 显示出消息提示框 if __name__ == '__main__': app = QApplication(sys.argv) listWidget = ListWidget() #创建一个listWidget 实例 listWidget.resize(300,120) #定义尺寸大小 listWidget.addItem("Item 1"); #添加item listWidget.addItem("Item 2"); listWidget.addItem("Item 3"); listWidget.addItem("Item 4"); listWidget.setWindowTitle('QListwidget 例子') #设置标题 listWidget.itemClicked.connect(listWidget.clicked) #绑定点击事件 listWidget.show() sys.exit(app.exec_())
补充:QListWidget右键菜单功能Demo
1.
ui.listWidget_Filelist->setContextMenuPolicy(Qt::CustomContextMenu);
2.
void SonicAttribute::on_listWidget_Filelist_customContextMenuRequested(const QPoint &pos) { QListWidgetItem* curItem = ui.listWidget_Filelist->itemAt(pos); if (curItem == NULL) return; QMenu *popMenu = new QMenu(this); QAction *deleteSeed = new QAction(tr("Delete"), this); popMenu->addAction(deleteSeed); connect(deleteSeed, SIGNAL(triggered()), this, SLOT(deleteSeedSlot())); popMenu->exec(QCursor::pos()); delete popMenu; delete deleteSeed; }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。
相关推荐
-
PyQt5 QListView 高亮显示某一条目的案例
正在做的项目遇到的问题 , 在缩略图列表中选择某一图,同时关联到图片list里高亮显示这个图片名字. 一开始我直接用setCurrentIndex(int) 来设置 if msg == "CAM1_Label_1": self.showCamOnTopScreen(0) self.device_listView.setCurrentIndex(0) 结果报错,提示 "setCurrentIndex(self, QModelIndex): argument 1 has unex
-
使用pyqt5 实现ComboBox的鼠标点击触发事件
一.自定义MyComboBox # MyComboBox.py from PyQt5.QtWidgets import QComboBox from PyQt5.QtCore import pyqtSignal class MyComboBox(QComboBox): clicked = pyqtSignal() #创建一个信号 def showPopup(self): #重写showPopup函数 self.clicked.emit() #发送信号 super(MyComboBox, self
-
PyQt5设置登录界面及界面美化的实现
写在前面 前一段时间博主刷了半个多月的LeetCode算法题,刷的归类为简单的那些题,做到自己简直要怀疑人生.想着人生在世,何苦这么为难自己呢,何不做点自己擅长的东西.想到博主还有个项目没做完呢,于是开始捣鼓起来.项目的最终成果是要写一个软件,把所有研究的内容可视化的展示出来,研究的内容都写的差不多了,还差个登录界面,于是就开始元气满满的干起来. 先上编译环境: Python3.7 pycharm2020专业版 PyQt5 博主习惯用Spyder做编译器,但如果做大项目,最好还是用pycharm
-
关于PyQt5主窗口图标显示问题汇总
窗口程序的开发流程如下: 1. 先通过qt designer设置界面并将程序图标设置好,通过在designer中按ctrl + R 进行预览可以看到窗口左上角的图标,然后保存 2. 通过pyuic5和pyrcc5命令将ui文件和qrc文件转换为py文件 3.然后在主程序中将界面显示出来,源码如下: class Main(QMainWindow, Ui_MainWindow, QWidget): def __init__(self, parent=None): super(Main, self).
-
Pyqt5 实现多线程文件搜索的案例
我学Java的时候也用Swing做了一个文件搜索的小程序,但界面真的挺丑的,现在学了点python,感觉python是最简单的语言,没有之一. (大家没事都可以来学的,真的很简单有趣哦) 我采用的是pyqt5,所以需要先安装Pyqt5模块 直接cmd命令输入 pip install pyqt5 闲言少叙,上代码!! # -*- coding: utf-8 -*- # @Time : 2018\9\15 20:39 # @Author : Tang weiyang # @File : FileSe
-
PyQt5按下按键选择文件夹并显示的实现
问题: 使用PyQt5开发桌面程序,实现功能为:按下按键,打开文件夹,选择文件夹,并将路径显示出来. 解决方法: 一.主要函数(直接能运行的代码见二) 1.选择文件夹并显示 def msg(self,Filepath): directory = QtWidgets.QFileDialog.getExistingDirectory(None,"选取文件夹","C:/") # 起始路径 self.fileT.setText(directory) 2.选择文件 def m
-
pyqt5 QListWidget的用法解析
1.简介 QListWidget 是一个升级版本的QListView , 它已经建立一个基于数据存储模型(QListWidgetItem),直接调用addItem()函数就可以添加条目(Item). 2.功能实现 # -*- coding: utf-8 -*- ''' [简介] PyQt5中 QListWidget 例子 ''' import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets
-
pyqt5自定义信号实例解析
本文研究的主要是pyqt5自定义信号实例解析的相关内容,具体介绍如下. PyQt5已经自动定义了很多QT内建的信号.但是在实际的使用中为了灵活使用信号与槽机制,我们可以根据需要自定义signal.可以使用pyqtSignal()方法定义新的信号,新的信号作为类的属性. 自定义signal说明: pyqtSignal()方法原型(PyQt官网的定义): PyQt5.QtCore.pyqtSignal(types[, name[, revision=0[, arguments=[]]]]) Crea
-
Python PyQt5标准对话框用法示例
本文实例讲述了Python PyQt5标准对话框用法.分享给大家供大家参考,具体如下: 很全的Qt的标准对话框,包含QInputDialog.QColorDialog.QFontDialog.QMessageBox.QOpenFileDialog... 全部是由官网的C++版本,转换成PyQt5版本. 有些细节忽略了,因为实在不知怎么转换过来.捣鼓了一晚上,总算完成了,好累啊,不过很开心! 效果图: 完整代码: # -*- coding: utf-8 -*- from PyQt5.QtGui i
-
mysql having用法解析
having的用法 having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录,也就是说作用在group by和having字句前.而 having子句在聚合后对组记录进行筛选. SQL实例: 一.显示每个地区的总人口数和总面积. SELECT region, SUM(population), SUM(area) FROM bbc GROUP BY region 先以region把返回记录分成多个组,这就是GROUP BY的字面含义.分完组后,然后用聚合函数对每组中 的不同
-
sql中的 where 、group by 和 having 用法解析
废话不多说了,直接给大家贴代码了,具体代码如下所示: --sql中的 where .group by 和 having 用法解析 --如果要用到group by 一般用到的就是"每这个字" 例如说明现在有一个这样的表:每个部门有多少人 就要用到分组的技术 select DepartmentID as '部门名称',COUNT(*) as '个数' from BasicDepartment group by DepartmentID --这个就是使用了group by +字段 进行了分组
-
Java Thread多线程详解及用法解析
最全面的java多线程用法解析,如果你对Java的多线程机制并没有深入的研究,那么本文可以帮助你更透彻地理解Java多线程的原理以及使用方法. 1.创建线程 在Java中创建线程有两种方法:使用Thread类和使用Runnable接口.在使用Runnable接口时需要建立一个Thread实例.因此,无论是通过Thread类还是Runnable接口建立线程,都必须建立Thread类或它的子类的实例.Thread构造函数: public Thread( ); public Thread(Runnab
-
Thinkphp 中 distinct 的用法解析
TP中distinct()的用处主要是去除重复的值 在Thinkphp手册中也详细说明了(链接:http://document.thinkphp.cn/manual_3_2.html#distinct) 下面是我的个人例子: 显示的是这样的 在加入distinct的话: 显示结果为 下面为贴出来的代码 $offernum = M('offer')->distinct(true)->where('order_id='.$order_id)->field('user_id,number')-
-
Python random模块用法解析及简单示例
用法示例: import random # 1)随机小数 print(random.random()) # 获取大于0且小于1 之间的小数 random.random() print(random.uniform(1, 4)) # 获取大于1小于3的小数 # 2)随机整数 print(random.randint(1, 9)) # 获取大于等于1且小于等于9之间的整数 print(random.randrange(1, 9)) # 获取大于等于1且小于9之间的整数 print(random.ra
-
es6新特性之 class 基本用法解析
javaScript 语言中,生成实例对象的传统方法是通过构造函数,与传统的面向对象语言(比如 C++ 和 Java)差异很大,ES6 提供了更接近传统语言的写法,引入了 class(类)这个概念,作为对象的模板.通过class关键字,可以定义类. es6 class 与es5的面向对象的区别: 1. 写法不同,使用关键字class 2.当new一个实例,默认有一个constructor方法,且默认返回实例对象(this),也可以返回另一对象 3.类的所有方法都在prototype属性上,但是不
-
PyQt5 QListWidget选择多项并返回的实例
参考Stack Overflow Python: How to query multiple selected items in QListWidget in PyQt from PyQt5.QtGui import * from PyQt5.QtCore import * from PyQt5.QtWidgets import * listItem = ['a','b','c','d','e'] if listItem is not None and len(listItem) > 0: se
随机推荐
- MySql 5.7.20安装及data和my.ini文件的配置
- Java的MyBatis框架中关键的XML字段映射的配置参数详解
- JavaScript实现简单的四则运算计算器完整实例
- 如何动态加载外部Javascript文件
- PHP中比较两个字符串找出第一个不同字符位置例子
- php实现查询百度google收录情况(示例代码)
- 详解:——如何将图片储存在数据库里
- javascript实现页面滚屏效果
- 原生js实现中奖信息无间隙滚动效果
- flash 挡住层的解决方法
- JQuery的ajax的用法在asp中使用$.ajax()实现
- JQuery给元素添加/删除节点比如select
- JS常见创建类的方法小结【工厂方式,构造器方式,原型方式,联合方式等】
- javascript弹出一个层并增加一个覆盖层
- java中Serializable接口作用详解
- 浅谈servlet中的request与response
- Andorid TextView字幕效果实例
- ASP.net WebAPI跨域调用问题的解决方法
- js作用域和作用域链及预解析
- Java网络通信中ServerSocket的设计优化方案