手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

跟我学Python GUI编程系列 - Tkinter(4)

[日期:2020-04-02] 来源:Linux公社  作者:醉落红尘 [字体: ]

跟我学Python GUI编程系列 - Tkinter(4)

在本系列教程中,我们将学习如何通过使用Tkinter包编写Python GUI示例来开发图形用户界面。

本文我们Linux环境:Ubuntu 20.04 LTS,Python版本为3.8.2。同样使用IDLE。

添加滚动文本框(ScrolledText)小部件(Tkinter textarea)

要添加滚动文本框,可以使用ScrolledText类,如下所示:

from tkinter import scrolledtext

txt = scrolledtext.ScrolledText(window,width=50,height=20)

在这里,我们指定滚动文本框的宽度和高度,否则,它将填充整个窗口。

from tkinter import *

from tkinter import scrolledtext

window = Tk()

window.title("欢迎使用linuxidc.com应用")

window.geometry('600x400')

txt = scrolledtext.ScrolledText(window,width=50,height=10)

txt.grid(column=0,row=0)

window.mainloop()

结果如下所示:

跟我学Python GUI编程系列 - Tkinter(4) 

设置滚动文本内容

要设置滚动文本内容,可以使用如下插入方法:

txt.insert(tk.INSERT,'您的文字在这里')

或者使用

txt.insert("insert",'您的文字在这里')

txt.insert(INSERT,'您的文字在这里')  这样不行

例子:

import tkinter as tk
from tkinter import scrolledtext

window = tk.Tk()
window.title("欢迎使用linuxidc.com应用")

window.geometry('600x400')

txt = scrolledtext.ScrolledText(window,width=50,height=10)

txt.insert(tk.INSERT,'您的文字在这里,Linux公社欢迎你\nwww.linuxidc.com')
txt.grid(column=0,row=0)

window.mainloop()

结果如下所示:

跟我学Python GUI编程系列 - Tkinter(4)

删除/清除滚动文本内容

要清除滚动文本框的内容,可以使用如下的delete方法:

txt.delete(1.0,END)

创建一个消息框

要使用Tkinter显示消息框,您可以像这样使用messagebox库:

from tkinter import messagebox

messagebox.showinfo('消息标题','消息内容')

是不是挺容易的。

让我们在用户单击按钮时显示一个消息框。

from tkinter import *

from tkinter import messagebox

window = Tk()

window.title("欢迎使用linuxidc.com应用")

window.geometry('600x400')

def clicked():

    messagebox.showinfo('消息标题','消息内容')

btn = Button(window,text='点击这里', command=clicked)

btn.grid(column=0,row=0)

window.mainloop()

当您单击按钮时,将显示一个提示性消息框。

跟我学Python GUI编程系列 - Tkinter(4)

显示警告和错误消息

您可以以相同方式显示警告消息或错误消息。 唯一需要更改的是messagebox函数

messagebox.showwarning('消息标题','消息内容') #显示警告信息

messagebox.showerror('消息标题','消息内容')  #显示错误信息

展示提问对话框

要向用户显示是/否消息框,可以使用以下messagebox函数:

from tkinter import messagebox

res = messagebox.askquestion('消息标题','消息内容')

res = messagebox.askyesno('消息标题','消息内容')

res = messagebox.askyesnocancel('消息标题','消息内容')

res = messagebox.askokcancel('消息标题','消息内容')

res = messagebox.askretrycancel('消息标题','消息内容')

您可以根据需要选择适当的消息样式。只需替换前一行中的showinfo函数行并运行它。

如下:

跟我学Python GUI编程系列 - Tkinter(4) 

此外,还可以使用result变量检查单击了哪个按钮。

如果单击OK或yes或重试,它将返回True作为值,但是如果选择no或cancel,它将返回False。

唯一返回三个值之一的函数是askyesnocancel函数;它返回True或False或None。

下一节让我们尝试添加更多的GUI组件(例如添加一个SpinBox组件)。敬请期待。

跟我学Python GUI编程系列  https://www.linuxidc.com/search.aspx?where=nkey&keyword=65442 】

更多Python相关信息见Python 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=17

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2020-04/162797.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款