pyqt如何实现拖拽打开文件(通过windows的快捷方式打开文件)

news2024/10/7 10:17:50

桌面端的开发中如何通过windows的快捷方式打开文件,那么如何将需要打开的数据传递给qt程序呢?
研究了一下发现很简单

通过sys.argv可以轻松的实现传参

sys.argv

import sys
print(sys.argv)

这个方法可以获取系统传递给程序的参数,默认是个列表,列表中的参数是['执行文件路径',‘参数’],而我们需要的是获取参数

例子

这里有个例子可以参考

import sys

from PyQt5.QtWidgets import QWidget, QLabel, QApplication, QHBoxLayout


class Window(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.resize(500, 500)
        self.hBox = QHBoxLayout(self)
        self.label = QLabel(self)
        self.label.setStyleSheet('''font: 12pt 'Segoe UI';''')
        self.hBox.addWidget(self.label)

    def setText(self, text: str):
        self.label.setText(text)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    win = Window()
    try:
        win.setText(sys.argv[1])
    except Exception:
        win.setText(sys.argv[0])
    win.show()
    app.exec_()

打包后可以接受系统参数。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1460150.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android 12.0 systemui锁屏页面时钟显示样式的定制功能实现

1.前言 在12.0的系统ROM定制化开发中,在进行systemui的相关开发中,当开机完成后在锁屏页面就会显示时间日期的功能,由于 开发产品的需求要求时间显示周几上午下午接下来就需要对锁屏显示时间日期的相关布局进行分析,然后实现相关功能 效果图如图: 2.systemui锁屏页面时钟显…

Linux搭建JavaEE环境

Linux搭建JavaEE环境 需要在 Linux 下进行 JavaEE 的开发,我们需要安装如下软件 JDKtomcatmysqlidea 安装JDK 安装步骤 首先去官网下载jdk的linux版本 下载地址:https://www.oracle.com/cn/java/technologies/downloads/ 1) mkdir /opt/jdk 2) 通过 …

视频推拉流EasyDSS视频直播点播平台授权出现激活码无效并报错400是什么原因?

视频推拉流EasyDSS视频直播点播平台集视频直播、点播、转码、管理、录像、检索、时移回看等功能于一体,可提供音视频采集、视频推拉流、播放H.265编码视频、存储、分发等视频能力服务,在应用场景上,平台可以运用在互联网教育、在线课堂、游戏…

向导式堆栈管理器Dockge

经过申诉,目前博客的几个域名都恢复了,时间也延长到了 2033 年,后面还会不会出问题,老苏就不知道了 什么是 Dockge ? Dockge 是一款时髦的、易于使用的、响应式的、自托管的 docker-compose.yaml 向导式堆栈管理器,可…

flink反压

flink反压(backpressure),简单来说就是当接收方的接收速率低于发送方的发送速率,这时如果不做处理就会导致接收方的数据积压越来越多直到内存溢出,所以此时需要一个机制来根据接收方的状态反过来限制发送方的发送速率&…

10、内网安全-横向移动域控提权NetLogonADCSPACKDC永恒之蓝

用途:个人学习笔记,有所借鉴,欢迎指正! 背景: 主要针对内网主机中的 域控提权漏洞,包含漏洞探针和漏洞复现利用。 1、横向移动-系统漏洞-CVE-2017-0146(ms17-010,永恒之蓝&#xff0…

ts环境下如何解决第三方npm包类型报错的问题

在 TypeScript 环境下,当引入第三方 npm 包时出现类型报错的问题,可以尝试以下几种解决方法: 1、安装 types 包:许多流行的第三方 npm 包都有对应的 TypeScript 类型声明文件,这些声明文件通常以 types/包名 的形式发…

odoo16-API(Controller)带有验证访问的接口

odoo16-API(Controller)带有验证访问的接口 目前我使用odoo原生的登录token来验证登陆的有效性 废话不多说直接上代码 # 测试获取session_id import requests class GetOdooData(http.Controller):def getOdooToken(self):# http://localhost:8123访问…

蓝桥杯:C++素数、进制转换

素数 定义&#xff1a; 质数又称素数。一个大于1的自然数&#xff0c;除了1和它自身外&#xff0c;不能被其他自然数整除的数叫做质数&#xff1b;否则称为合数&#xff08;规定1既不是质数也不是合数&#xff09;。 代码&#xff1a; #include<bits/stdc.h> using n…

【flutter】环境安装

安装flutter sdk 下载sdk flutter sdk就包含dart&#xff0c;所以我们只用安装flutter sdk就可以了。 我们去清华大学开源软件镜像站下载&#xff0c;flutter开发中&#xff0c;版本对不上基本项目就跑步起来&#xff0c;如果是团队协同开发的话&#xff0c;建议统一下载指定版…

ubuntu22.04@Jetson OpenCV安装

ubuntu22.04Jetson OpenCV安装 1. 源由2. 分析3. 证实3.1 jtop安装3.2 jtop指令3.3 GPU支持情况 4. 安装OpenCV4.1 修改内容4.2 Python2环境【不需要】4.3 ubuntu22.04环境4.4 国内/本地环境问题4.5 cudnn版本问题 5. 总结6. 参考资料 1. 源由 昨天用Jetson跑demo程序发现帧率…

算法——排序算法

目录 1、冒泡排序 2、插入排序 3、选择排序 4、归并排序 5、快速排序 6、堆排序 7、计数排序 8、桶排序 9、基数排序 常见的排序算法包括&#xff1a; 冒泡排序&#xff08;Bubble Sort&#xff09;插入排序&#xff08;Insertion Sort&#xff09;选择排序&#xff08;Se…

Element UI 组件的安装及使用

Element UI 组件的安装及使用 Element UI 是一套基于 Vue.js 的桌面端 UI 组件库&#xff0c;提供了丰富的、高质量的 UI 组件&#xff0c;可以帮助开发者快速构建用户界面。 1、安装 Element UI 使用 npm 安装 npm install element-ui -S2、使用 CDN 安装 在 HTML 页面中引…

祖龙娱乐 x Incredibuild

关于祖龙娱乐 祖龙娱乐有限公司&#xff08;下文简称“祖龙娱乐”&#xff09;是一家总部位于北京的移动游戏开发公司&#xff0c;成立于 2014 年&#xff0c;拥有成功的大型多人在线角色扮演游戏移动游戏组合&#xff0c;如《六龙争霸》、《梦幻诛仙》和《万王之王 3D》。公司…

安宝特AR汽车行业解决方案系列1-远程培训

在汽车行业中&#xff0c;AR技术的应用正悄然改变着整个产业链的运作方式&#xff0c;应用涵盖培训、汽修、汽车售后、PDI交付、质检以及汽车装配等&#xff0c;AR技术为多个环节都带来了前所未有的便利与效率提升。 安宝特AR将以系列推文的形式为读者逐一介绍在汽车行业中安宝…

Kotlin基本语法 4 类

1.定义类 package classStudyclass Player {var name:String "jack"get() field.capitalize()set(value) {field value.trim()} }fun main() {val player Player()println(player.name)player.name " asdas "println(player.name)} 2.计算属性与防范…

网络爬虫基础(上)

1. 爬虫的基本原理 爬虫就是在网页上爬行的蜘蛛&#xff0c;每爬到一个节点就能够访问该网页的信息&#xff0c;所以又称为网络蜘蛛&#xff1b; 网络爬虫就是自动化从网页上获取信息、提取信息和保存信息的过程&#xff1b; 2. URL的组成部分 URL全称为Uniform Resource L…

Docker Compose映射卷的作用是什么,dockerfile这个文件有什么区别和联系?

Docker Compose中映射卷&#xff08;Volumes&#xff09;的作用和Dockerfile之间既有区别也有联系。下面详细解释两者的作用、区别和联系&#xff1a; Docker Compose映射卷的作用 在Docker Compose中&#xff0c;卷&#xff08;Volumes&#xff09;用于数据持久化和数据共享…

ajax 如何从服务器上获取数据?

在Web开发中&#xff0c;AJAX&#xff08;Asynchronous JavaScript and XML&#xff09;是一种常用的技术&#xff0c;用于在不重新加载整个页面的情况下&#xff0c;从服务器获取数据并更新网页的某一部分。使用AJAX&#xff0c;你可以创建异步请求&#xff0c;从而提供更快的…

大话设计模式——2.简单工厂模式(Simple Factory Pattern)

定义&#xff1a;又称静态工厂方法&#xff0c;可以根据参数的不同返回不同类的实例&#xff0c;专门定义一个类&#xff08;工厂类&#xff09;来负责创建其他类的实例可通过类名直接调用&#xff0c;被创建的实例通常具有共同的父类。 UML图&#xff1a; 例子&#xff1a; 计…