Python Tkinter里取回button 回调函数的变量

python tkinter详解 PYTHON TKINTER Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数的平台下使用,同样可以应用在 Windows 和 Mac系统里。 与tkinter齐名的还有wxpython,jython,pyqt(pyqt5)。其中,公认的对python新手而言的好用程度:jython<tkinter<wxpython<pyqt。(仅代表博主所看到的意见,没有反驳的必要) Tkinter编程 一个标准 阅读详情

Python Tkinter里取回button 回调函数的变量

最近在尝试用用python的内置库tkinter写一个GUI应用,碰到了一些问题,这里note一下。
开发工具:pycharm
库:Tkinter
python 版本: python3.6

Button 组件介绍

button在 Tkinter里实现的是一个按钮功能。但是这里想实现取出command=func 中回调函数的变量值,因为在点击button后
回调函数才开始被调用,但是语句self.button = Button(command = func) 执行后self.button 接收的是.!application.!button,即使在
get_file_path实例方法内添加return self.file_name , 结果还是一样的,而且这个结果是在程序Run后不需要点击button就打印了
,即button创建的时候就打印了。
Tips: 如果把command = func 改成command = print('hello world') , 即把command=后的函数名直接写成语句,那么button不需要点击就会在创建的时候执行这个语句,所以一般可以在语句前加上 匿名函数lambda , 这里是lambda: print('Hello world'), Button就会在点击后才打印Hello World, 匿名函数实现了延迟调用的效果,这里具体怎么实现的还有待考究,如果知道的大神可以帮忙分析一波。

代码分析

先看一下代码

from tkinter import *
from tkinter.filedialog import askopenfilename
class Application(Frame):
    def __init__(self, parent=None):    #这里重写Application的父容器Frame,从而让其成为顶级容器
        Frame.__init__(self, parent)    #父容器Frame的parent是TK(),这个是所tkinter的组件的主窗口
        self.pack(expand=YES)           #打包application, tkinter会自动为其画一个矩形框,其所有的子部件将在这个矩形框里布局
                                                        #如果没有这个pack(),所有继承self的子类将都不会出现在主窗口中,表现形式上就是主窗口是个空的。
        self.create_widget()

    def create_widget(self):            #创建组件
        self.lab = Label(self, text='File_Path').grid(row=0, column=0)
        self.ent = Entry(self, width=40)
        self.ent.grid(row=0,column=1)
        self.button = Button(self, text='Open', command=self.get_file_path).grid(row=0, column=2)
        self.button = Button(self, text='submit', command=self.submit).grid(row=1,column=0)

    def get_file_path(self):         #获取文件路径
        self.ent.delete(0, END)      #先清空文件名框内的内容
        self.file_name = askopenfilename(filetypes=[('All Files', '.zip'),('All Files','.csv'))  #弹出文件复选框,选择文件,可以指定文件类型以过滤
        self.ent.insert(END, self.file_name)    #显示文件名,用insert方法把文件名添加进去

    def submit(self):                    #点击提交的时候获取button内回调函数的变量值,这里是文件路径
        self.file_path = self.ent.get()  #用组件Entry的get获取输入框内的字符串,其在组件被销毁前就被取到
        self.destory()                   #中断循环,即主程序跳出无限循环mainloop(),但是这里是销毁的Frame组件,因为self指的是Frame的派生
        #root.destroy()                  #同样是跳出mainloop(),但是这里销毁的是主窗口Tk(),默认情况下它是所有tkinter 组件的父容器

#root = Tk()                             #将主窗口实例化
app = Application()                      #将application实例化
app.mainloop()
print(app.file_path)                     #打印组件button 回调函数的变量

程序运行后会出现如下所示的GUI界面, 这是个获取文件全路径的GUI
在这里插入图片描述
点击open后就会弹出文件复选框,
在这里插入图片描述
但选择文件后,文件名会出现在file_path路径后
在这里插入图片描述
点击submit, 会出现一个有趣的现象,Frame内的内容不见了,因为程序执行了self.destory() 后这里的Frame就被销毁了,但是主窗口还在,同时我们发现命令行还没有打印出app.file_path的变量值。
在这里插入图片描述
为什么呢,思考一下,三秒钟。1,2,3
好,继续往下看, 你应该发现了

因为mainloop函数还在执行啊,mainloop还在无限循环中,也就是说上述的代码其实一直在app.mainloop()中,并没有退出来

app.mainloop()     #在这里循环,等待消息

那么这样才会结束这个循环跳出来执行循环外的语句体呢? 必须等被主窗口关掉,循环才会结束。

tkinter内所有的组件都是以类的继承来实现组件上的层级结构的,也就是说刚才被销毁的Frame就是上面这个主窗口的二级组件,它的活动范围也将被限定在这个主窗口内。

既然必须关闭主窗口,那我们直接点击这个空白窗口右上角的X就行了, 点击关闭后,发现命令行打印出了文件路径,也就是说
程序执行了最后一行语句print(app.file_path) 。

在这里插入图片描述
如果我们代码作如下修改, 在submit内注释掉对Frame的销毁,换成对root的销毁,同时这里需要在主程序中去掉root = Tk()的注释。

def submit(self):  
	... ... 
	#self.destroy()
	root.destroy()   

root = Tk()  

再运行一下程序,我们发现点击submit后,主窗口直接关闭了,同时命令行打印出了文件路径的信息。 这正符合我们的预期,
因为root就是主窗口Tk()的实例,我们在实例方法submit里销毁的是主窗口。组件在被销毁前,我们就已经取到了变量值。
当然,如果在组件被销毁之后取值也就会失败。这里取的值是从组件Entry里得来的,Entry在这个应用里的层级结构是三级组件。因为Entry被实例化的时候指定了其
父容器为self,即Application类,所以当实例app被销毁后,其子类的实例也会一起被销毁,即组件被销毁后,其所有子类的组件都被被销毁。

这里再思考一个问题,为什么实例app 被销毁了,我们还可以打印出它的属性值呢。
这里不要误会了,我的理解是此销毁非内存销毁,而是GUI组件被关闭了,只要在组件被关闭之前取到了组件或子组件的相关变量,它就可以在内存中保存下来。从而在组件被关闭的情况下继续被使用。

总结

关于在tkinter 里button组件的变量获取关键是理解destory()对mainloop()的作用机制,再就是要知道
哪些获取变量的方法。

在tkinter模块库中,绑定在组件上的变量是变量类的实例,这些类是StringVar, Intvar,DoubleVar;具体要使用哪一个类要根据具体情况而定。比如,StringVar类的实例可以与一个Entry框相关。关于这一块大家可以参考《Python 编程》一书,里面对tkinter有一个很系统的讲解,虽然很多专有名字我也听不懂,但是搭配着《python学习手册》还有网上的各种资料,还是可以慢慢看懂的。

我是一只想做程序猿的通信汪!

Python tkinter Button 属性和方法介绍 介绍了python tkinter的Button所有属性和方法,并用代码实现了这些属性和方法。 阅读详情

相关推荐

Python Tkinter教程(二)——Label控件、Frame控件、Button控件的完整参数和所有方法及详细用法_tkinter labelframe

不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~给大家准备的学习资料包括但不限于:Python 环境、pycharm编辑器/永久激活/翻译插件python 零基础视频教程Python 界面开发实战教程Python 爬虫实战教程Python 数据分析实战教程python 游戏开发实战教程Python 电子书100本。

2401_84140302的博客 1229

tkinker下Button控件

Tkinker 导入库 from tkinter import * 一个简单的Button应用 root = Tk() # 定义Button的回调函数 def HW(): print('Hello World!') # 通过command属性来指定Button的回调函数 Button(root, text='HB', command=HW).pack() root.mainloop()...

qq_41953503的博客 861

TLSR8258蓝牙Mesh实战:从SDK下载到自定义通信指令全流程(附避坑指南)

本文详细介绍了TLSR8258蓝牙Mesh开发的完整流程,从SDK下载、环境搭建到自定义通信指令的实现。通过实战案例和避坑指南,帮助开发者快速掌握低功耗蓝牙Mesh网络构建技巧,适用于智能家居、工业监控等物联网场景。

weixin_29176179的博客 199

python tkinter button响应函数返回值_Python – 从Tkinter回调返回

如何从作为Tkinter回调执行的函数中获取返回的对象?import Tkinter as Tkfrom functools import partialdef square(x):return x*xroot = Tk.Tk()var = Tk.IntVar(root, value=0) #the variable the gets passed to the class callmenu = ...

weixin_39614877的博客 4404

COMSOL两相流(相场法)

COMSOL是一款功能非常强大的多物理场仿真软件,拥有可视化和后处理工具,可方便有效的展示您的仿真效果,具有灵活、高效、友好的特点,软件能够为用户提供各类工程问题的解决方案,从而帮助广大研究和工程人员能够在科研上取得新突破。 COMSOL可以实现声学、传热、流体力学、结构力学等方面的模拟仿真,具体模块如下图所示。 COMSOL软件设置流程 定义需要求解的问题类型:针对一个需要仿真的问题,需要先对问题进行分析;分析该问题用到哪些物理场,什么样的几何模型,以及如何设置研究等。该步骤可以使用COMSOL中的

weixin_47139559的博客 1万+

本地服务器搭建Uptime Kuma网站监控服务

本文主要介绍如何在Linux系统中一键部署Uptime Kuma运维监控服务,并将这个服务映射至公网实现随时随地远程访问。如果您像我一样在服务器上托管了多个网站,并且没有足够的时间来手动检查每个网站的在线状态,那么当出现问题时,您可能无法及时收到通知来处理这些问题。因此,搭建一个在线监控服务是很有必要的,它可以在状态异常时提醒您,以便您能够及时处理问题,确保网站的稳定性和可用性。监控服务有很多,我最终选择了Uptime Kuma,因为Uptime Kuma是开源免费的,

Tiam_cr的博客 1822

python tkinter button响应函数返回值_Python - 从Tkinter回调返回

How can I get a returned object (or variable, or whatever - they're all basically the same, aren't they) from a function that is executed as a Tkinter callback?import Tkinter as Tkfrom functools impor...

weixin_39608134的博客 2272

QT实现Word读写

在windows环境下,我们可以通过ActiveQt实现Office自动化,相当于VB的VBA功能。 以下是一个实例: #include #include #include int main(int argc, char *argv[]) {     QApplication a(argc, argv);     //显示的打开一个word应用程序     QAxW

nameofhsw的专栏 1万+

python tkinter button响应函数返回值_在Tkinter中使用按钮调用函数后返回值

from Tkinter import *from tkFileDialog import askopenfilenamefrom PIL import Imagedef main():filename = askopenfilename(filetypes=[("Jpeg","*.jpg")])return filenameroot = Tk()button = Button(root,text...

weixin_42523718的博客 4309

C#实战:5分钟搞定西门子S7-1200 PLC数据读写(S7netplus保姆级教程)

本文详细介绍了如何使用C#和S7netplus库快速实现与西门子S7-1200 PLC的数据读写。从环境准备、连接管理到数据读写高级技巧,提供了保姆级教程和实战方案,帮助开发者绕过常见陷阱,提升工业自动化项目的开发效率。

weixin_28432777的博客 283

无人机多旋翼倾转动力测试系统-适用于(eVTOL开发、缩比模型测试、科研教育)

LY-QZ-F4多旋翼倾转动力测试系统是全球首款专为倾转四旋翼设计的多自由度动力测试平台,融合高精度传感、动态倾转模拟与智能工况分析,为下一代eVTOL技术提供全维度验证工具。采用航空级应变传感器(精度±0.1% FS),同步捕获推力、扭矩、俯仰/滚转力矩,动态误差<1%。同时测试电驱动系统(单轴最大150kW)与混合动力单元(增程式),支持高压(800V)平台。通过MET数据采集软件,控制采集一体化,定制化,实时观察上百个传感器数据,实时更改测试需求。可搭配六维姿态平台,温湿度舱、振动台等环境模拟设备。

weixin_49209795的博客 874

Tkinter Button控件command传参问题的解决方式

tkinter是Python官方自带的GUI框架,简单好用,其中最常用的恐怕就是Button控件了。这个控件就是在GUI上显示一个按钮,用户点击后,除法command参数所对应的函数。不过,这里有一个很多人都在咨询的问题,如何在Button控件的command中传递参数? 错误的传参写法 下面这段代码,希望实现的功能,是点击clickme按钮后,能够将tstr变量中的字符串在Label中显示出来。 正确的操作如下: 一、使用command=lambda: 的形式传参 from tkint.

2万+

机器视觉避坑指南:为什么你的Halcon划痕检测总漏检?(附优化方案)

本文深入剖析了Halcon在表面划痕检测中漏检率高的常见原因,如灰度值波动、噪声干扰及形态学参数设置不当。针对复杂背景与低对比度划痕,提出了超越官方例程的多尺度纹理分析与特征融合优化方案,旨在帮助开发者构建更鲁棒、稳定的机器视觉检测流程,有效提升检出率。

weixin_29057163的博客 234

Python tkinter - 第五章 按钮控件(Button)属性

按钮是一个标准的tkinter控件。按钮上可以显示文字或者图片作为提示信息。文字只能使用一种字体以及颜色。按钮的最主要作用是被点击后,可以调用指定的回调函数,完成特定的功能。比如,关闭窗口、执行命令等。...

weixin_42272768的博客 4万+

Python爬虫实战:如何抓取旅游论坛上的帖子、旅行攻略和评论内容

无论是知名的旅游网站,还是地方性的旅游讨论区,用户发布的旅行贴文、攻略和评论往往包含着大量的宝贵信息。本文将详细介绍如何使用Python编写一个爬虫,抓取旅游论坛上的帖子、旅行攻略和评论内容,涵盖从获取页面内容、解析数据到处理动态加载等各个方面的技术。从基本的请求和网页解析,到动态加载页面的处理,再到数据存储和反爬虫技巧,我们详细讲解了抓取旅游论坛数据的全过程。通过本文的介绍,你可以将所学的爬虫技术应用到其他类似的网站抓取任务中,为后续的数据分析、机器学习等任务提供丰富的数据源。在这种情况下,传统的。

2201_76125261的博客 1557

WINCC7.3破解文件

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

【python】tkinter GUI开发: Button和Entry的应用实战探索

Button(按钮)用来执行用户的单击操作。Button 可以包含文本,也可以包含图像。按钮 被单击后会自动调用对应事件绑定的方法。 Entry 用来接收一行字符串的控件。如果用户输入的文字长度长于 Entry 控件的宽度 时, 文字会自动向后滚动。

景天科技苑 2万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Python的GUI编程(二)Button(按钮)

Button 控件是一种标准 Tkinter 控件, 用来展现不同样式的按钮. Button 控件被用以和用户交互, 比如按钮被鼠标点击后, 某种操作被启动. 和 Label 控件类似, 按钮可以展示图片或者文字. 不同的是, Label 控件可以指定字体, Button 控件只能使用单一的字体. Button 上的文字可以多行显示. 可以将一个 Python 函数或方法绑定到一个 B

程序猿的视界 9万+

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

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Python Tkinter Button控件command传参问题解决方案

Python Button控件command传参问题解决方案 环境:Ubuntu14、Python3.4、Pycharm2018 一、使用command=lambda: 的形式传参 代码如下 from tkinter import * import tkinter.messagebox as messagebox def createpage(master): master ...

weixin_41098458的博客 4万+

Python Tkinter教程(二)——Label控件、Frame控件、Button控件的完整参数和所有方法及详细用法

这篇博客将详细并尽可能完整地介绍tkinter模块15种基本控件中的Label控件、Frame控件和Button控件,包括所有的参数和方法,通过示例代码和图片的方式进行详细地教程。

小康2022的博客 2万+

python中tkinter的button_在python tkinter界面中添加按钮的实例

tkinter是python自带的GUI库,可以实现简单的GUI交互,该例子添加了五种不同效果的Button,如图:from tkinter import *from tkinter import messagebox #python3.0的messagebox,属于tkinter的一个组件top = Tk()top.title("button test")def callback():messa...

weixin_33464488的博客 1473

python tkinter button_在python tkinter界面中添加按钮的实例

tkinter是python自带的GUI库,可以实现简单的GUI交互,该例子添加了五种不同效果的Button,如图:from tkinter import *from tkinter import messagebox #python3.0的messagebox,属于tkinter的一个组件top = Tk()top.title("button test")def callback():messa...

weixin_39883194的博客 438

python3中tkinter button属性_Tkinter对button中的一些属性的应用实例

'''5.指定Button的宽度与高度width:宽度heigth:高度使用三种方式:1.创建Button对象时,指定宽度与高度2.使用属性width和height来指定宽度与高度3.使用configure方法来指定宽度与高度'''fromTkinterimport*root=Tk()b1=Button(root,text='30X1',width=30,height=2)b1.p...

weixin_39517199的博客 790

python tkinter Button

Button控件 Button 控件是一个标准的 Tkinter 部件,用于实现各种按钮。按钮可以包含文本或图 像,还可以关联 Python 函数。 Tkinter 的按钮被按下时,会自动调用该函数。 按钮文本可跨越一个以上的行。此外,文本字符可以有下划线,例如标记的键盘快捷 键。默认情况下,使用 Tab 键可以移动到一个按钮部件,用法如下: Entry(根对象, [属性列表]),即Entry(root, option…) 常用的属性列表如下: Button 实例: 实例1:创建按钮,代码如下: from

exusiaiZ的博客 484

python tkinter label、button控件简单应用

一、tkinter Label控件 Label 控件用于创建一个显示方块,可以在这个显示方块内放置文字或图片。 1.语法和属性: w = Label( master, option, ... ) # master: 框架的父容器。 # options: 可选项,即该标签的可设置的属性。这些选项可以用键-值的形式设置,并以逗号分隔。 序号 可选项 & 描述 1 anchor 文本或图像在背景内容区的位置,默认为 center,可选值为(n,s,w,...

json_li的博客 2096

Python tkinter编程之Button篇

改变Button的前景色和背景色 # -*-coding:utf-8-*- ''' 改变Button的前景色和背景色 fg:前景色 bg:背景色 ''' from tkinter import * root = Tk() bfg = Button(root, text = 'change foreground', fg = 'red') bfg.pack() bbg = Button(roo...

qiukapi的博客 1162

Tkinter教程之Button篇(2)

# Tkinter教程之Button篇(2)5.指定Button的宽度与高度width:    宽度heigth:    高度使用三种方式:1.创建Button对象时,指定宽度与高度2.使用属性width和height来指定宽度与高度3.使用configure方法来指定宽度与高度from Tkinter import *root = Tk()b1 = Button(root,tex

灵蛇舞动 1万+
上一篇: Ubuntu里使用virtualenv改变当前python版本使得Django能正确显示中文网页
下一篇: python_面向对象
Cengineering
博客等级 码龄13年 51粉丝 38原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值