Python_tkinter(按钮,文本框,多行文本组件)

用于定义gui界面中的按钮组件

   tkinter.Button](用于存放的父组件,属性参数...

组件1按钮

具备以下属性:

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

实行结果:

组件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中的内容用deleteselfindex1index2),index1为开始删除的位置(若想从头开始删除则为0),index2为删除截止的位置(若删除到末尾则为END

删除Text中的内容用deleteselfindex1index2),index1为开始删除的位置(若想从头开始删除则为0.0),index2为删除截止的位置(若删除到末尾则为END

         2.如果在获得用户输入的值后,清空输入框中的信息时候,在自定义打印输入信息的函数最后加上delete(first, last = None)函数,两个参数都是整形,第一个参数first是开始位置,第二个参数是结束位置,从开始位置到结束位置进行删除,delete(0, END)是删除所有的信息,

3.如果向在Entry组件上加上默认值的时候,则在Entry创建对象后,使用e1.insert(10,"Miller") 其中e1Entry创建的对象,第一个参数是在哪个位置插入,第二个参数是插入的信息

注意:第一个参数是从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()

实行结果:

 

  • 14
    点赞
  • 85
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值