PyQt(Python+Qt)学习随笔:QListWidget获取当前选中项的selectedItems方法

QTableWidget多选selectedItems和selectedRanges的使用和区别   QTableWidget是QT程序中,常用的显示数据表格控件,其用法也不再赘述,这里就说一说多选接口的使用方法,区别和问题。   首先,表格支持多选(Ctrl、Shift、 Ctrl+A都可以),需要对表格进行属性设置: setSelectionMode(QAbstractItemView::ExtendedSelection);   另外,还可以对选中模式进行设置,比如选中时,默认... 阅读详情

QListWidget的selectedItems方法返回列表部件中所有选中项的一个列表,调用语法如下:

list selectedItems() 

返回列表中的每个元素就是一个QListWidgetItem对象,如果没有选中项,则返回空列表。

老猿Python,跟老猿学Python!

IDA Pro插件开发实战:集成Frida实现动静结合逆向分析 逆向工程是软件安全分析的核心技术,通过静态与动态分析相结合,深入理解程序行为。静态分析工具如IDA Pro能够反编译二进制代码,揭示程序结构;而动态分析则通过运行时插桩技术,实时监控内存状态和函数调用。Frida作为动态插桩框架,提供了强大的运行时Hook能力,能够拦截函数、修改内存,实现实时观察与操控。将Frida与IDA Pro集成,可以打通静态与动态分析的壁垒,实现分析结果实时同步,极大提升逆向效率。本文以IDA Pro插件开发为例,详细讲解如何通过Python API构建Frida联动插件,实现地址 阅读详情

相关推荐

pyqt5-列表(QListView和QListWidget)

PyQt5提供了两种列表,分别是基于模型的ListView和基于项目的ListWidget,ListView是ListWidget的父类。使用ListView时需要先创建模型,然后再保存数据;而ListWidget内置一个数据存储模型QListWidgetItem,使用时不必自己建立模型,直接使用addItem或者addItems方法即可添加列表项。

m0_62653695的博客 3267

Qt文档阅读笔记-Qt工作笔记-QTableWidget::selectedItems()官方解析与实例(如何进行多选)

目录   前言 官方解析 博主例子   前言 QTableWidget::selectedItems(): 在使用QTableWidget中,可以选中多行,如何从界面获取多行的数据,可以使用selectedItems()进行操作!   官方解析 返回被选择的item的链表。 这个函数返回鼠标选中项的链表,如果有空白的Item,可以使用selectedIndexes()函数。 ...

IT1995的博客 1万+

【Qt笔记】QListWidget控件详解

QListWidget 是 Qt 框架中一个非常实用的控件,它提供了一个基于项目的列表视图,允许用户以列表形式展示和交互数据项。

qq_52924376的博客 1万+

Qt: 表格QTableWidget删除选中的行

Qt开发,需要删除表格中选中的行: 研究一番,找到了方法: while(table->selectedItems().count() > 0){ int rowIdx = table->selectedItems()[0]->row(); table->removeRow(rowIdx); } 也就是从selectedItems下手,每次找第一个选中的单元格,删除该单元格对应的行,同时也就删除了该行所有的单元格。然后继续找下一个选中单元格,重复操作,直到没有

小鹰信息技术服务部 7682

PyQt学习笔记:如何获取QListWidget当前选中项的selectedItems方法

在使用PyQt编写UI界面时,常常需要使用List控件展示多个项目,QListWidget便是其中之一。但是我们在实际开发中经常需要知道用户选择了哪些项,需要获取当前QListWidget的选中项。本篇文章将向大家介绍如何使用selectedItems()方法来获取QListWidget的当前选中项。运行上述代码,我们可以在控制台输出当前选中的所有项的文本内容。PyQt学习笔记:如何获取QListWidget当前选中项的selectedItems方法。

与其临渊羡鱼,不如退而结网 1755

PyQt学习笔记:使用Python访问QTreeWidget中的currentColumn和selectedItems属性

在PyQt中,QTreeWidget是一个常用的部件,用于显示树形数据结构。需要注意的是,如果没有选中任何项,selectedItems()函数返回一个空列表。如果要获取所有项,可以使用QTreeWidget的findItems()函数。PyQt学习笔记:使用Python访问QTreeWidget中的currentColumn和selectedItems属性。以上就是使用Python访问QTreeWidget中的currentColumn和selectedItems属性的方法。

m0_47037246的博客 443

PyQt5使用QListWidget实现多项选择

最终效果图 功能点罗列: 1. 下拉列表实现联想搜索,选中后,会在左侧列表框中选中并聚焦到同一个选项 2. 左侧列表设置为多选 3. 右侧列表可以多选、删除 代码(复制到一个py文件中可以直接执行,执行后如上效果图) from PyQt5 import QtWidgets,QtCore from PyQt5.QtCore import Qt from typing import List import sys class ExtendedComboBox(QtWidgets.QComb.

m0_37967652的博客 9851

使用Python学习PyQt:获取ListView控件当前选择项的方法

当用户选择列表中的某一项时,我们通常需要获取当前选择项的信息,以便进行后续处理。本文将介绍如何在Python中使用PyQt来实现ListView控件获取当前选择项的方法,并提供相应的源代码。通过这个简单的示例,你可以学习如何使用PyQt在Python中获取ListView控件的当前选择项。在运行上述代码后,你将看到一个简单的窗口,其中包含了一个ListView控件。当你选择列表中的某一项时,将会弹出一个对话框,显示当前选择项的文本内容。在该窗口中,我们创建了一个ListView控件,并使用。

code_welike的博客 838

QT QListWidget 简单的操作

listWidget = QListWidget() #实例化一个(item base)的列表 listWidget.addItem('dd') #添加一个项 listWidget.addItems([]) # 从序列中添加子项 listWidget.setDragEnabled(True) #设置拖拉 listWidget.sortItems() #排序 listWidget.selectAll...

weixin_33751566的博客 144

PyQt入门指南:QListWidget选中项获取对应行的方法(Python)

然后,我们添加了5个列表项并选中了第3个列表项。最后,我们获取当前选中项的QModelIndex对象,并调用其row()方法来获取行号。除了使用currentIndex()方法获取选中项的QModelIndex对象之外,还可以使用selectedIndexes()方法获取所有选中项的QModelIndex对象列表。然后,可以遍历该列表并逐个调用row()方法来获取每个选中项的行号。要实现该功能,我们需要先获取当前选中项的QModelIndex对象,然后调用该对象的row()方法即可获得对应的行号。

带你成为别人眼中的大佬! 1540

基于PyQt5与PySerial的串口调试助手开发全攻略

串口通信是嵌入式开发、物联网设备调试和工控自动化领域的基础技术,它通过串行接口实现设备与计算机之间的数据交换。其核心原理在于异步传输,通过配置波特率、数据位和校验位等参数确保数据传输的准确性。掌握串口通信技术对于设备调试、数据采集和自动化测试具有重要价值,广泛应用于单片机、传感器和PLC等设备的交互场景。本文聚焦于如何利用Python的PyQt5和PySerial库,从零构建一个功能强大且可深度定制的串口调试助手。通过结合多线程编程和GUI设计,该项目不仅解决了通用工具功能受限的问题,还提供了灵活的数据解析

weixin_34082854的博客 452

Python实现Windows磁盘隐藏工具开发指南

Windows系统通过注册表控制磁盘分区的可见性,其中NoDrives键值采用位运算原理实现多磁盘组合隐藏。这种技术方案既能保护隐私文件,又避免修改系统关键设置。Python凭借winreg模块和PyQt5框架,可以快速开发出轻量级的磁盘管理工具,特别适合需要临时隐藏工作分区或创建隐私空间的场景。通过封装注册表操作和设计友好的GUI界面,开发者能实现类似Windows磁盘管理器的核心功能,同时解决原生工具操作路径深、第三方软件功能冗余等问题。

weixin_30367169的博客 512

新手必看:CiscoPacket Tracer从零搭建局域网(含ARP协议详解)

本文为网络新手提供了一份使用Cisco Packet Tracer从零搭建局域网的详细指南。通过构建基础网络拓扑、配置IP地址,并深入剖析ARP协议的工作原理,帮助读者理解IP地址与MAC地址的映射关系,掌握局域网通信的核心机制。

weixin_29275257的博客 204

Python桌面应用开发实战:从零构建个人时间管理器

桌面应用开发是连接编程基础与工程实践的重要桥梁,其核心在于将业务逻辑通过图形用户界面(GUI)直观呈现,并实现数据的本地持久化存储。其技术原理通常围绕事件驱动架构与模型-视图-控制器(MVC)模式展开,利用框架(如PyQt5)提供的组件与信号槽机制构建交互。掌握桌面开发不仅能深化对**Python**语言及**面向对象编程**的理解,更能培养完整的项目交付能力,对于课程设计、毕业答辩或个人工具开发极具实用价值。本文将以一个功能完备的“时间管理器”项目为例,详细拆解其从环境搭建、模块设计(含数据库与计时器)、

weixin_33843409的博客 391

在线绘制富集分析多组气泡图和单细胞分析marker基因矩阵气泡图

常规的GO或者KEGG通路富集分析结果通常以气泡图的形式展示,然而这个气泡图仅仅是一个比较的结果,如果想在一张图上展示多个比较的结果,就需要用到多组气泡图(图1,左侧)。 单细胞RNA-seq分析结果中,矩阵形式的气泡图可以很好地展示marker基因(X轴)在不同cluster(Y轴)中的表达情况(图1,右侧)。

微生信 3666

从“储能”到“信号”:拆解Buck电路中那颗不起眼的前馈电容,如何让电源更稳

本文深入解析Buck电路中前馈电容的关键作用,揭示其如何通过频域整形和零点补偿提升电源稳定性。从工作原理到工程实践,详细介绍了容值计算、布局布线及特殊场景调校策略,帮助工程师优化瞬态响应和纹波抑制。

weixin_42530458的博客 403

短剧MP4合并器

这篇文章介绍了一个短剧MP4合并工具的开发过程,主要特点包括: 工具功能: 支持拖拽排序和批量导入视频文件 使用ffmpeg进行视频合并,带进度反馈 自动扫描文件信息(时长、分辨率等) 支持重新编码和流复制两种合并模式 兼容Linux和Windows系统 技术实现: 采用PySide6作为GUI框架 使用ffmpeg/ffprobe进行视频处理 实现了异常捕获和日志记录功能 支持多线程操作避免界面卡顿 提供了自然排序功能(1.mp4→2.mp4→10.mp4) 使用说明: 需要预先安装FFmpeg环境 所有

weixin_43985754的博客 182

人员行为规范检测:YOLOv8+C#实现工厂车间安全监控,违规即报警零延迟

该方案通过YOLOv8的装备检测与姿态估计的动作识别,结合C#的实时管控能力,实现了从“被动巡检”到“主动预警”的转变。相比传统人工,违规响应速度提升10倍,全年可减少90%以上的安全隐患。方案已在3家制造企业落地,支持自定义违规规则(如新增“吸烟”“未系安全带”),可根据车间场景灵活扩展。需要完整的模型训练配置文件(含数据集增强脚本)或C#系统源码(视频处理+报警模块)的,评论区扣“SafetyDetect”,可直接获取部署版本~

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1174

关于pyqt的Qlistview点击显示当前选择的列表位置

在用PYQT的时候做了一个QListview,简单来说就想实现一个单击列表,然后打印当前选项坐在的行位置,这么一个功能。一开始用了一个比较粗暴的方式。 1.利用listview的click以及doubleclicked两个信号 这两个信号都可以返回点击的位置所在的行数,但是我想要右键显示的时候就失效了,不是正道。 self,my_list.clicked.connect(self.clicked)...

aleien的博客 2832

从零开始学习PX4源码20(遥控器模式切换如何执行)

本节主要学习PX4的手动遥控器切换模式,具体是如何实现的,具体改变了哪些变量,和模式管理有什么联系。

陌城烟雨 316

YOLOv11改进策略【损失函数篇】| 替换激活函数为Mish、PReLU、Hardswish、LeakyReLU、ReLU6

在卷积神经网络中,激活函数通过在神经网络中引入非线性,使网络能够学习和逼近复杂函数,从而处理复杂的模式识别与分类问题。

Limiiiing的博客 2792

PyQt(Python+Qt)学习随笔:QTableWidget的findItems和selectedItems搜索项和访问选中项方法

老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 1、搜索项 在表格部件中,可以根据文本以及匹配模式来搜索满足条件的项,调用语法: list[QTableWidgetItem] findItems( str text, Qt.MatchFlags flags) 返回值为所有满足条件的项构成的列表,如果没有找到匹配项,返回空列表。 Qt.Matc...

老猿Python 4649

【专栏必读】王道考研408操作系统+Linux系统编程万字笔记使用说明及章节导航

王道408考研操作系统)第一章计算机系统概述-第一节1、2:操作系统概念、概念和特征1:理解fork的作用prinf("还没有执行fork函数的本进程为:%d\n" , getpid());//其返回值是pid类型的 sleep(1);if(ret > 0) //父进程返回的是子进程ID {printf("我是父进程,我的id是:%d,我的孩子id是%d\n" , getpid() , ret);sleep(1);} } else if(ret == 0) //子进程fork返回值是0 {.........

快乐江湖的博客 3万+

qt QItemSelectionModel详解

QItemSelectionModel是Qt框架中提供的一个功能强大且灵活的项选择模型类。它主要用于在用户界面中管理和操作用户选定的项,是实现交互式和响应式应用程序的重要组件。QItemSelectionModel能够帮助开发者创建用户友好和高效的多选列表、表格数据选择等应用场景。它维护了模型中项的选择状态,并允许在视图组件(如QTableView、QTreeView等)中对这些项进行选择操作。

ckg3824278的博客 1333

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

QGraphicsScene管理QGraphicsItem(单击/选择/移动/缩放/删除)

简述 在图形视图框架中,QGraphicsScene 提供一个快速的接口,用于管理大量 item,QGraphicsItem 是场景中 item 的基类。 图形视图提供了一些典型形状的标准 item,当然,我们也可以自定义 item。除此之外,QGraphicsItem 还支持以下特性: 鼠标按下、移动、释放和双击事件,以及鼠标...

weixin_33881753的博客 6883

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

上一篇: PyQt(Python+Qt)学习随笔:QListWidget获取指定项对应行的row方法
下一篇: PyQt(Python+Qt)学习随笔:QListWidget对项进行排序的sortItems方法
LaoYuanPython
LaoYuanPython 2020年博客之星Top3 2020年博客之星Top3 领域专家: Python技术领域 领域专家: Python技术领域
博客等级 码龄8年 15万+粉丝 1324原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LaoYuanPython

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值