tkinter.Button
](用于存放的父组件,属性参数...)
具备以下属性:
anchor | 设置按钮中文字的对其方式,相对于按钮的中心位置 |
background(bg) | 设置按钮的背景颜色 |
foreground(fg) | 设置按钮的前景色(文字的颜色) |
borderwidth(bd) | 设置按钮边框宽度 |
cursor | 设置鼠标在按钮上的样式 |
command | 设定按钮点击时触发的函数 |
bitmap | 设置按钮上显示的位图 |
font | 设置按钮上文本的字体 |
width | 设置按钮的宽度 (字符个数) |
height | 设置按钮的高度 (字符个数) |
state | 设置按钮的状态 |
text | 设置按钮上的文字 |
image | 设置按钮上的图片 |
EG1:
from tkinter import *
root = Tk()
root.title("窗口标题")
# 窗口大小是否可以改变,宽,高,True表示可以改变
root.resizable(False, False)
root.minsize(200, 200)
root.mainloop()
# 利用pack布局进行简单界面的设置
实行结果:
EG2:
# 利用pack布局进行简单界面的设置
from tkinter import *
root = Tk()
root.minsize(200, 200)
b = Button(root, text="BUTTON4", background="red", foreground="white")
b.pack(side=BOTTOM, fill=X)
b = Button(root, text="BUTTON1", background="yellow")
b.pack(fill=X)
b = Button(root, text="BUTTON2", background="green", width=7, height=7)
b.pack(side=LEFT, fill=Y)
b = Button(root, text="BUTTON3", background="black", width=7, height=7, foreground="white")
b.pack(side=RIGHT, fill=Y)
root.mainloop()
实行结果:
Entry 单行文本框组件
Text 多行文本框组件
#单行文本
tkinter.Entry(用于存放的父组件,属性参数...)
#多行文本
tkinter.Text(用于存放的父组件,属性参数...)
具备以下属性
background(bg) | 设置文本框的背景色 |
foreground(bg) | 设置文本框的前景色 |
borderwidth(bd) | 设置文本输入框的边框 |
font | 设置文本框中的字体 |
width | 设置文本框的宽度(字符个数) |
height | 设置文本框的高度(字符个数),仅限于text |
state | 设置文本框的状态 |
selectbackground | 选中文字时文本框的背景色 |
selectforeground | 选中文字时文字的颜色 |
show | 指定文本框显示的字符,若为*,则表示为密码框 |
textvariable | 设置文本对应的变量,可以通过修改变量改变文字显示。必须使用tkinter.IntVar() 或 tkinter.StringVar()产生的变量 entry可以使用 |
补充:
1如果想得到用户输入的值,添加一个button按钮,在按钮上的command触发一个自定义函数,在函数中使用Entry.get()获得.
获取Text组件的输入的文本信息的时候,还是使用get()函数,但是,里面有三个参数,分别是self,index1:开始位置,index2:结束位置。
删除Entry中的内容用delete(self,index1,index2),index1为开始删除的位置(若想从头开始删除则为0),index2为删除截止的位置(若删除到末尾则为END)
删除Text中的内容用delete(self,index1,index2),index1为开始删除的位置(若想从头开始删除则为0.0),index2为删除截止的位置(若删除到末尾则为END)
2.如果在获得用户输入的值后,清空输入框中的信息时候,在自定义打印输入信息的函数最后加上delete(first, last = None)函数,两个参数都是整形,第一个参数first是开始位置,第二个参数是结束位置,从开始位置到结束位置进行删除,delete(0, END)是删除所有的信息,
3.如果向在Entry组件上加上默认值的时候,则在Entry创建对象后,使用e1.insert(10,"Miller") 其中e1是Entry创建的对象,第一个参数是在哪个位置插入,第二个参数是插入的信息
注意:第一个参数是从0开始,要在这一行中查看你要从哪个字字符开始插入,一个汉字算一个长度
EG1:
# 1.普通的Text组件
from tkinter import *
root = Tk()
text1 = Text(root)
# INSERT索引表示在光标处插入
text1.insert("insert", "我要吃饭")
# END索引号表示在最后插入
text1.insert("end", ",喝鸡蛋汤")
text1.pack()
root.mainloop()
实行结果:
EG2:
# 2.清除Text组件的所有文本内容
from tkinter import *
def delete_text():
# def delete(self, index1, index2=None):
# 从index1到index2的文字都删除,但是不包括index
# 0.0表示开始,END表示结尾
text1.delete(0.0, END)
root = Tk()
text1 = Text(root)
# INSERT索引表示在光标处插入
text1.insert("insert", "我要吃饭")
# END索引号表示在最后插入
text1.insert("end", ",喝鸡蛋汤")
# 调用函数,清除文字
delete_text()
text1.pack()
root.mainloop()
实行结果:
EG3:
from tkinter import *
root = Tk()
entry1 = Entry(root)
entry1.insert("insert","hello , python")
# 清除所有的文字,注意:0表示开始位置,和Text组件不一样,Text组件0.0表示开始位置
entry1.delete(0, END)
entry1.pack()
root.mainloop()
实行结果:
EG4
#用户在entry组件输入文字,决定在哪里插入,然后所有的文字在下方的text对话框中打印
from tkinter import *
# 插入函数(insert),在索隐处插入文字,
# 索引:"insert":在光标处插入
# "end":在Text对象的结尾插入
def insert_insert():
# 获取entry输入的文字
string = entry1.get()
# 在光标处插入文字
text1.insert("insert", string)
def insert_end():
# 获取entry输入文字
string = entry1.get()
# 在text对象结尾插入文字
text1.insert("end", string)
root = Tk()
root.minsize(200, 200)
# 在Entry组件中输入的字符都显示*(用于用户输入密码)
# entry1 = Entry(root, show="*")
# 创建entry对象,用于接受用户输入信息
entry1 = Entry(root)
entry1.pack()
button1 = Button(root, text="Button1_insert_insert", command=insert_insert)
button1.pack()
button2 = Button(root, text="Button2_insert_end", command=insert_end)
button2.pack()
text1 = Text(root)
text1.pack()
root.mainloop()
实行结果: