使用tkinter在Python中创建是/否消息框

2021年5月14日15:50:26 发表评论 1,035 次浏览

Python提供了许多图形用户界面(GUI)框架, 但Tk界面或Tkinter是使用最广泛的框架。它是跨平台的, 无论操作系统平台(Windows, Linux或macOS)如何, 都可以运行相同的代码。 Tkinter轻巧, 快速且易于使用。 Tkinter提供了可以使用标准属性和几何管理方法自定义的各种小部件。 Tkinter消息框可用于向用户提问或显示消息。

注意:有关更多信息, 请参阅Python GUI – Tkinter

创建tkinter消息框的步骤:

导入tkinter模块

import tkinter as tk
from tkinter import *

注意:在Python 2.x中, 模块的名称为" Tkinter", 在Python 3.x中, 模块的名称为" tkinter"。这里使用Python3.x。

导入tkinter消息框小部件

from tkinter import messagebox as mb

创建调用以显示是/否消息框的方法

def call():
    res=mb.askquestion('Exit Application', 'Do you really want to exit')
    if res == 'yes' :
        root.destroy()
    else :
        mb.showinfo('Return', 'Returning to main application')

说明:

语法如下:

askquestion(title=None, message=None, **options)

参数

  • 标题:用于提供一个名称, 该名称显示在对话框的标题中。
  • 信息:给用户的问题。

返回值:单击是选项时返回"是", 而单击否选项时返回"否"。

语法如下:

showinfo(title=None, message=None, **options)

参数

  • 标题:用于提供一个名称, 该名称显示在对话框的标题中。
  • 信息:给用户的信息。

语法如下:

destroy()

此方法破坏小部件。

为按钮创建画布将被放置

root=tk.Tk()
canvas=tk.Canvas(root, width=200, height=200)
canvas.pack()

说明:

语法如下:

Tk(screenName=None, baseName=None, className=’Tk’, useTk=1)

用于创建父窗口。 Tk类的实例化没有任何参数。可以通过更改className参数的值将父窗口的名称更改为所需的窗口。 " root"是父窗口。

语法如下:

Canvas(master, option=value)

参数:

  • 主:用于表示父窗口。这里的" root"是主窗口。
  • 选项:用于指定边框, 背景色, 高度, 宽度等。

返回值:该方法返回一个字符串(。!canvas)。

语法如下:

pack(**options)

在放置父窗口小部件之前将它们按块组织起来。这些选项可用于展开, 填充和指定侧面(左, 右, 上, 下)

创建按钮并将其放置在画布内

b=Button(root, text='Quit Application', command=call)
canvas.create_window(100, 100, window=b)

说明:

语法如下:

Button(master=None, options)

参数:

  • 主:根是父窗口。
  • 选项:有许多受支持的选项。在这种情况下使用的选项是文本和命令。
    • 文本:按钮文字
    • 命令:按下按钮时要调用的操作或方法。

返回值:该方法返回一个字符串(。!button)。

语法如下:

create_window(x, y, **options)

参数:

x, y:指定小部件(按钮)在画布中的位置。

选项:支持多种选项, 例如锚点, 高度, 宽度, 状态, 标签, 窗口。此处使用的选项是窗口。

  • 窗口:window = b, 其中b是要放置在画布上的小部件(按钮)。

返回值:返回窗口对象的对象ID。

调用mainloop()方法

root.mainloop()

说明:

语法如下:

mainloop()

它是一个无限循环, 在程序准备运行时被调用。它等待一个事件(鼠标单击)发生, 并且一旦接收到该事件, 便对该事件进行处理。父窗口未销毁。

完整的程序如下:

# Python program to create 
# yes/no message box
  
  
import tkinter as tk
from tkinter import * 
from tkinter import messagebox as mb
  
  
def call():
     res = mb.askquestion( 'Exit Application' , 'Do you really want to exit' )
      
     if res = = 'yes' :
         root.destroy()
          
     else :
         mb.showinfo( 'Return' , 'Returning to main application' )
  
# Driver's code
root = tk.Tk()
canvas = tk.Canvas(root, width = 200 , height = 200 )
  
canvas.pack()
b = Button(root, text = 'Quit Application' , command = call)
  
canvas.create_window( 100 , 100 , window = b)
  
root.mainloop()

输出如下:

首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。


木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: