关于GUI的求助
源代码:#!/usr/bin/env python
# -*- coding: utf-8 -*-
import tkinter as tk# 使用Tkinter前需要先导入
# 第1步,实例化object,建立窗口window
window = tk.Tk()
# 第2步,给窗口的可视化起名字
window.title('My Window')
# 第3步,设定窗口的大小(长 * 宽)
window.geometry('500x300')# 这里的乘是小x
# 第4步,在图形界面上设定输入框控件entry并放置控件
e1 = tk.Entry(window, show='*', font=('Arial', 14)) # 显示成密文形式
e2 = tk.Entry(window, show=None, font=('Arial', 14))# 显示成明文形式
e1.pack()
e2.pack()
# 第5步,主窗口循环显示
window.mainloop()
我打的代码:
from tkinter import *
window = Tk()
window.title('My window')
window.geometry('500x300')
e = Entry(window, show=None).pack()
def insert_point():
var = e.get()
t.insert('insert', var)
def insert_end():
var = e.get()
t.insert('end', var)
b1 = Button(window, text='insert point', width=10, height=2, command=insert_point()).pack()
b2 = Button(window, text='insert end', width=10, height=2, command=insert_end()).pack()
t = Text(window, height=3).pack()
window.mainloop()
为什么我打的代码会出现:AttributeError: 'NoneType' object has no attribute 'get'这个错误? 正确代码:
from tkinter import *
window = Tk()
window.title('My window')
window.geometry('500x300')
e = Entry(window, show=None) # 更改
e.pack()
def insert_point():
var = e.get()
t.insert('insert', var)
def insert_end():
var = e.get()
t.insert('end', var)
b1 = Button(window, text='insert point', width=10, height=2, command=insert_point).pack() # 不能加括号
b2 = Button(window, text='insert end', width=10, height=2, command=insert_end).pack()
t = Text(window, height=3) # 更改
t.pack()
window.mainloop() zltzlt 发表于 2020-3-23 13:08
正确代码:
非常非常感谢您,方便再问你一下吗,就是什么时候可以直接在后面加.pack(),比如:e=Entry(...).pack()。有时候我直接加的也没报错,这里为什么就会报错了?还有就是在Button里面的command参数为什么不能加括号,加与没加区别在哪里呢?希望可以得到解答,非常感谢您!{:7_123:}
页:
[1]