首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

第四章Data and Classes学习笔记

第四章Data and Classes

第一节:How to use StringVar()

学习如何将Python GUI的data保存到变量之中

几种tkinter的code

strVar=StringVar() #字符串,默认为空字符串

intVar=IntVar() #整数,默认为0

dbVar=DoubleVar()#浮点数,默认为0.0

blVar=BooleanVar()#布尔值,返回0或False,1或True

打印默认的tkinter变量的值

>>>PY_VAR12

>>>0

返回的是IntVar的默认值0

第二节:How to get data from a widge

(如何捕获变量的Data)

将下面的代码写在前几章创建的GUI中

加在前面模块的最后,mainloop之前

还可以将values的一组值设置在spinbox实例的外面

不管我们如何创建widget以及如何将值嵌入其中,我们都可以通过get()方法获得

get()方法适用于所有widgets

现在我们已经知道如何获取这些data,那么现在我们要使用这些data

第四节:Using module-level global variables

使用模块级别的全局变量

为什么我们要使用全局变量?

因为我们往GUI当中不断的加入各种功能,但是name会越来越混乱

为了避免这个问题,我们选择使用全局变量

返回全局变量42

把usingGlobal()函数写在模块的最底部

我们在使用全局变量,但由于使用的相同的变量名,造成了值的改变

使用global声明全局变量

在声明之后想要再给全局变量赋值则引发一个错误

全局变量比较适合运用在小的应用之中,可以在多种方法和function中使用

但随着我们的代码越来越复杂,加入的功能越来越多,全局变量的使用也会越来越局限

第四节:How coding in classes can improve the GUI

第四节主要讲的是将我们写的越来越复杂的模块改成类

一个模块里可以有很多的类

在我们刚开始写GUI的时候,就写成类

第五节:Writing callback functions

创建了一个面向对象变成的callback方法

函数名的编写使用的是前置下划线,但是这种写法并不推荐使用在python编码中

不容易读取且容易忽视

不推荐这样写

第六节:Creating reusable GUI components

#将tooltip改成一个在其他模块也可以引用的类

# 在一个spinbox加上一个tooltip

tt.createToolTip(self.spin,'This is a spin control!')

#将tooltip加到更多的widget中

tt.createToolTip(nameEntered,'This is a Entry control!')

tt.createToolTip(self.action,'This is a button control!')

tt.createToolTip(self.scr,'This is a ScrolledText control.')

然后在其他的模块引用创建的类

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181101G1SHZW00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券