python(组件 按钮&文本框)

组件1按钮

用于定义gui界面中的按钮组件
tkinter.Button(用于存放的父组件,属性参数…)
具备以下属性
anchor 设置按钮中文字的对其方式,相对于按钮的中心位置
background(bg) 设置按钮的背景颜色
foreground(fg) 设置按钮的前景色(文字的颜色)
borderwidth(bd) 设置按钮边框宽度
cursor 设置鼠标在按钮上的样式
command 设定按钮点击时触发的函数
bitmap 设置按钮上显示的位图
font 设置按钮上文本的字体
width 设置按钮的宽度 (字符个数)
height 设置按钮的高度 (字符个数)
state 设置按钮的状态
text 设置按钮上的文字
image 设置按钮上的图片
from tkinter import *
root = Tk()
root.title(“窗口标题”)
窗口大小是否可以改变,宽,高,True表示可以改变
root.resizable(False,False)
root.minsize(200,200)
root.mainloop()

#利用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()

组件2文本框(Entry)和多行文本(Text)

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()

你可能感兴趣的:(笔记)