wxpython设计GUI:grid控件中怎么实现点击单元格字体打开相应的链接窗口

wxWidgets之wxGrid控件 阅读详情

使用wxpython设计GUI界面,需要实现通过鼠标点击grid表格中第一列单元格显示的单号能够自动跳出该单号的信息编辑界面。

百度了好多篇文章,思路来源主要参考以下几篇文章:

wxPython做GUI:如何在Grid中响应鼠标移动事件

在wx.grid中鼠标悬停在单元格上时的工具提示消息

如何在wxpython中的wx.grid中右键单击以获取选定范围的值?

wxPython in Action ( 网格(grid)控件7)

在这里插入图片描述

代码实现:

 # 控制点击单号触发打开相应的单号编辑窗口事件
        self.Bind(wx.grid.EVT_GRID_CELL_LEFT_DCLICK, self.OnSelectCell, self.m_grid1)

    def OnSelectCell(self, event):
        row = event.GetRow()
        column = event.GetCol()
        if column == 0:
            self.m_grid1.SetCellEditor(row, 0, wx.grid.GridCellEditor.GetWindow(self.UpdateUI(4)))
        event.Skip()

思路讲解:

创建针对grid单元格的双击鼠标左键触发事件函数OnSelectCell(),并且限制鼠标双击事件的单元格对象只能是grid的第一列,主要使用了grid的SetCellEditor方法实现选中单元格之后打开对应的另外一个界面。
在这里插入图片描述

https://docs.wxpython.org/wx.grid.GridCellEditor.html#wx.grid.GridCellEditor
在这里插入图片描述

在这里插入图片描述
虽然会提示如下报错信息,但是功能是ok的,能够实现鼠标左键双击单号打开相应的编辑界面,报错信息如下:self.m_grid1.SetCellEditor(row, 0, wx.grid.GridCellEditor.GetWindow(self.UpdateUI(4)))
TypeError: GridCellEditor.GetWindow(): first argument of unbound method must have type ‘GridCellEditor’

实现在不同的界面之间跳转主要参考以下文章的代码逻辑:wxPython实现Frame之间的跳转/更新的一种方法

主要参考文章中的guiManager.py设置GuiManager类来管理不同的界面,通过设置type来确定跳转到哪个界面。
在这里插入图片描述

使用wxPython中的Grid表格控件 上述代码将第一列的值设置为"张三"、“李四”、“王五”、“赵六"和"钱七”,第二列的值设置为"25"、“30”、“28”、“35"和"27”,第三列的值设置为"男"或"女"。通过这个强大的控件,我们可以轻松创建和管理数据表格,并自定义单元格的样式和行为。希望本文对你有所帮助!Grid表格控件是wxPython中一个强大的工具,它允许我们以表格的形式显示和编辑数据。上述代码将表格的第一列标签设置为"姓名",第二列标签设置为"年龄",第三列标签设置为"性别",并将行标签设置为"1"到"5"。 阅读详情

相关推荐

YOLOv5轻量化实战:从Ghost模块到工业级部署的完整指南

本文详细介绍了YOLOv5轻量化实战,重点解析了Ghost模块在工业检测中的应用及其优化策略。通过Ghost卷积技术,模型参数量和GFLOPs显著降低,同时保持高精度,适用于实时性要求严格的工业场景。文章还提供了从模型优化到TensorRT加速的完整部署指南,助力开发者实现高效工业级应用。

weixin_28223453的博客 489

ExtJS Grid列添加提示

最近在做项目中遇到如何给Grid的列增加提示,即鼠标移到某一列时,会提示具体信息。 代码如何: Ext.define('bookmarksearch.view.BookMarkGridPanel', { extend : 'Ext.grid.Panel', alias : 'widget.bookMarkGridPanel', style : 'margin-left: -1px; ma

石玉良的专栏 1565

Cadence HDL原理图库避坑指南:从Excel导入引脚到解决‘V- V+’报错(附FPGA实例)

本文详细介绍了Cadence HDL原理图库的高效构建与排错方法,重点讲解如何从Excel智能导入引脚数据并优化FPGA封装设计。通过数据预处理、智能导入和深度排错三个关键阶段,帮助工程师避免常见错误如‘V- V+’报错,提升设计效率和准确性。

weixin_28739079的博客 236

用wxPython实现浮动信息框

有点像在线帮助,当鼠标移动到某一个显示对象上的时候就在鼠标旁边浮动显示一个信息框。本来想用wx.TipWindow实现的,因为看到demo里的在线帮助是这样做的,基本还好,不过有一个问题,就是不知道怎么让这个TipWindow自动消失。因为它产生、显示出来以后,必须用鼠标左键点击一下才会消失,而我调用其Show(False)或者Destroy()都不能达到这个效果,所以也许只有用手动发送一个鼠标左

Never too late to study 2633

INCA文件刷写全流程:从ES581驱动安装到XCP协议实战(附避坑指南)

本文详细解析INCA文件刷写的全流程操作,从ES581驱动安装到XCP协议配置,提供实战经验与避坑指南。涵盖A2L文件校验、工作区优化、XCP参数调优及自动化刷写技巧,帮助工程师高效完成ECU开发中的文件刷写任务。

egg99的博客 944

Python 复现AlexNet框架代码

【代码】Python 复现AlexNet框架代码。

Quintin 2421

ComponentOne WinForms FlexGrid将网格数据转换为可点击链接

ComponentOne WinForms FlexGrid​​​​​​​网格单元格中的超链接允许将网格中的数据以可点击链接的形式呈现,使用户能够从单个视图直接导航到相关页面、记录或操作。这减少了额外的导航步骤,并使数据之间的关系更加清晰直观。主要优势包括更快地访问详细信息和更具交互性的用户体验。常见用例包括将订单号链接到订单详情、将客户姓名链接到个人资料页面,或将网格条目链接到相关文档、报告或编辑屏幕。

控件与插件之大全 310

07 Zabbix 微信告警

Zabbix 微信告警 1.注册企业微信 企业微信注册地址:https://work.weixin.qq.com 2.进入企业微信后台管理 2.1 添加微信成员 2.2创建应用 2.3 获取四项数据 (1)AgentID (2) Secret (3) 企业ID (4)部门ID 3.Zabbix Server配置 3.1确认脚本目录 # grep alertscripts /etc/zabbix/zabbix_server....

Jian Sun_的博客 1298

Qt::WindowFlags

Qt WindowTypeQt :: Widget: 0x00000000** *这是QWidget的默认类型。此类型的小部件(如果有父级)是子级小部件,如果没有父级则是独立窗口。另请参见Qt :: Window和Qt :: SubWindow。* **Qt :: Window: 0x00000001** *指示窗口小部件是一个窗口,通常具有窗口系统框架和标题栏,而与窗口小部件是否具有父级无关。请注意,如果小部件没有父级,则无法取消设置此标志。* **Qt ::对话框: 0x00...

weixin_43117674的博客 364

从被秒封到稳过Cloudflare!Canvas/WebGL/WebRTC多维度浏览器指纹隐身全实战

反爬和反反爬,本质上是一场持续的博弈,没有100%的隐身,只有不断升级的伪装。网上很多教程只给了个基础的噪声代码,却没讲透反爬的检测逻辑,导致你用了还是被封。这套方案的核心,不是简单的API重写,而是站在反爬的角度,模拟真实用户的所有特征,保证所有指纹的一致性、合理性、完整性。目前这套方案我用了半年,跑了上千万次请求,稳过国内国外99%的主流反爬平台,没有出现过一次因为指纹关联导致的批量封禁。大家有什么更狠的反爬场景,或者更好的伪装技巧,欢迎评论区一起交流。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1194

微信小程序 - 详细实现打开跳转第三方 H5 网页链接,在微信小程序内直接跳转打开第三方网站链接详细教程(支持跳转公众号文章等,直接复制代码即可)

小程序跳转h5,小程序-Taro小程序中打开h5页面链接,...小程序跳转h5链接(web-view)_微信小程序,小程序如何跳转h5页面,小程序跳转到第三方H5网页,微信小程序跳转第三方H5的方法,小程序-实现怎么跳转打开H5网页链接(或跳转至公众号文章,打开第三方网站,放校验文件,怎么配置业务域名,校验文件验证域名,把校验文件放到对面网站,别人的服务器也打不开没权限怎么放呢,勾选不校验合法域名,txt,打不开别人的网页怎么办,真机调试打不开,无法跳转,有什么其他办法不放校验文件吗,后台配置,怎么

🏆 前端领域优质创作者 3万+

wxPython 之 wx.gird.Gird 添加按钮

wx.gird.Gird是实现类似excel表格的库,扩展面很广,本文讲述它添加按钮,按钮响应的内容本文基于wxPython 4.2.0版本上开发。需要特别注意,wxPython版本之间基础库的差异巨大。

weixin_40331132的博客 1569

第三方 API 调用 OpenClaw 出现 LLM request timed out 的解决方案

本文主要介绍了第三方 API 调用 OpenClaw 出现 LLM request timed out 的解决方案,希望能对使用OpenClaw的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 8万+

wxpython把txt转换成html,如何在wxpython4.0的单个控件中添加文本和html链接?

你不能把它们和一个sizer捆绑在一起吗?e、 g#!/usr/bin/pythonimport wximport wx.lib.agw.hyperlink as hlclass Example(wx.Frame):def __init__(self, parent, title):wx.Frame.__init__(self, parent, -1, title)self.InitUI()def...

weixin_36488250的博客 150

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

深度学习工具包 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")

wxpython中grid控件一些用法总结

1. 官网主动查找控件的使用方法 wxpython中grid控件的用法可以通过搜索wxpython网址查看使用方法说明。网址:https://docs.wxpython.org/index.html 搜索框中输入"grid"进行检索 选中第一个wx.grid查看控件的用法说明 接着选中第一个 页面展示了grid类的一些方法 2. 常用的一些方法或者技巧 为了加深记忆,便于本人后续查找回顾,以下列出本人常用的一些grid控件的使用方法。 2.1 根据表格的数据内容自动调整grid窗口的大小 Auto

Logintern09的博客 4276

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

wxpython中表格顶角怎么设置_wxpython编程之 grid(数据表格) | 学步园

构建Grid方法,效果如下:其它构建grid方法和grid的使用见:还可以见下载资源中的wxpython教程第5章的gridGeneric.pygridModel.pygridNoModel.pyimport wximport wx.gridimport generictabledata = (("Bob", "Dernier"), ("Ryne", "Sandberg"),("Gary", "M...

weixin_39875503的博客 323

pscad IEEE标准系统搭建说明

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

wxpython 4 使用 grid 展示表格

wxPython 4 使用 Grid展示数据

Lincoln 的专栏 1万+

wxpython的grid表格简单创建方式和赋值(excel导入grid)

import wx import wx.grid class MyFrame(wx.Frame): def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString, pos=wx.DefaultPosition, size=wx.Size(1024, 738), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSA.

geminitroy的博客 2655

wxpython设计GUI:grid控件实现显示表单数据功能,同时实现界面的上下翻页以及跳转功能

grid控件实现显示表单数据功能,同时实现界面的上下翻页以及跳转功能。

Logintern09的博客 2086

wxpython grid 表格快速定位及排序

wxpython 中对表格进行快速定位、排序。

lshgly的博客 953

wxPython做GUI:如何在Grid中响应鼠标移动事件

最近写一个小软件,GUI是用wxPython做的,有一个功能需要捕获鼠标在Grid控件上的移动事件。我先在Boa Constructor中拖出一个Grid原型来做测试,发现很容易,只要grid.Bind(wx.EVT_MOTION, self.OnGridMotion)就可以了,但是移植到软件中去之后,死活无法响应,百思不得其解。 不断的尝试之下,总算发现了当Grid还没有创建

thy专栏 5850

wxPython Grid 表格控件的使用

因工作原因使用了一下 wxPython。总的来说不推荐。我的观点是干什么事情,要用那个领域最成熟的库,比如桌面软件,用 C#、Qt。不流行的的 wx 有 bug,参考文档少。下面贴出我的代码。这个代码展示了 Grid 的使用,可以“增删改”,按列排序,隐藏某一列的显示(就像在 Excel 里为了看东西方便)。界面设计可以先用 wxFormBuilder 设计好,把代码 copy 过来。有些问题不好...

ddzr972435946的博客 8644

wxPython in Action ( 网格(grid)控件7) (2008-05-19 13:37:24)

14.4捕获用户事件网格控件有许多的用户事件。我们将把它们分为鼠标事件和键盘事件。14.4.1如何捕获用户的鼠标动作?对于网格控件,除了不同的鼠标事件类型外,对于这些类型还有一些不同的事件类。最常用的事件类是wx.grid.GridEvent。网格的事件类是wx.CommandEvent的一个子类,它提供了用于获得事件详情的几个方法,如表14.8所示。表14.8wx.grid.GridEve...

weixin_30664615的博客 172

wxpython如何实现提示框的弹出?

wxpython实现未输入内容时,给出不能为空的提示。 #导入wx模块 import wx class wxtest(): def __init__(self): # 定义一个应用程序类对象 self.app = wx.App() # 创建一个顶层窗口(frame类对象)父窗体不存在None,size是窗体大小,宽、高 self.window = wx.Frame(None, title="错误提示框", size=(300, 300)

baidu_24030347的博客 4674

wxPython学习(7.高级窗口)

1.分隔窗口 分隔窗口就是将窗口分成两部分,即左右或上下两部分。 例:将整体分为左右两个窗口,右窗口又分为上下两窗口,两窗口之间的分隔线是可以拖动的,称为“窗框” wx.SplitterWindow 中常用的方法有: (1)SplitVertically(window1, window2, sashPosition=0)。 设置左右布局的分隔窗口,window1 为左窗口,window2 为右...

qq_35634418的博客 2675
上一篇: wxpython控件TextCtrl如何显示多行文本
下一篇: wxpython设计GUI:设置框架的背景颜色
草莓仙生
博客等级 码龄8年 2033粉丝 224原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

草莓仙生

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

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

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

打赏作者

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

抵扣说明:

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

余额充值