学习笔记:python GUI——Tkinter(更新中...)
程序员文章站
2022-04-11 17:48:00
...
一、界面,逻辑分离
首先,用面向对象的方式来写界面(感觉更有条理,编写和调试方便)。最常遇到的问题就是界面和功能函数之间的(界面一个文件,功能函数一个文件)调用。调用功能函数直接导包调用就行,如果调用功能函数的变量,添加返回值。
# func.py 功能函数
def a():
a = 1
b = 2
c = a + b
print(c)
return c
# ui.py 主界面
# 这里使用tkinter.text演示获取a()中c的值,然后插入text
self.value = func.a()
self.text.insert('END',self.value)
二、关于text.insert()报错问题
之前再调试的时候发现如果这样写布局,在进行插入操作的时候会出现下面的错误,百度后无果。(若不是布局问题,有可能就是比较常见的调用问题)
self.text = tkinter.Text(menu, width=10, height=15).grid(row=1, column=2)
报错:
AttributeError: 'NoneType' object has no attribute 'insert'
后来按下面这种写法(不知道什么原因,请教各位大佬),修改了text的布局,解决问题。
self.text = tkinter.Text(menu, width=10, height=15)
self.text.grid(row=1, column=2)
下一篇: HTML的简单认识