首页 > 解决方案 > Python - 组合框,不选择值

问题描述

我正在 PyCharm 中编写一个简单的 GUI 应用程序。我正在使用一个组合框来选择一个值,并使用一个按钮来在选择这个值后激活一个动作。如果选择了默认值(即没有任何内容)并单击了按钮,我不知道如何显示消息。

谢谢您的帮助 :)

from tkinter import *
from tkinter import messagebox
from tkinter import ttk
import os
import shutil

root = Tk()
root.geometry("538x400")

def copyButton():

   msc = myCommbo.get() 
   if (# I don't know what): 
      messagebox.showinfo("Value not selected") 
   else:
      # do something

myCommbo = ttk.Combobox(root, value=["15","16","17","18","19","20"])
myCommbo.current()

myButton1 = Button(root, text="Copy to Archive", command=copyButton)

myCommbo.grid(row=2, column=1)
myButton1.grid(row=3, column=2, padx=50, pady=20)

root.mainloop()

标签: pythontkintercombobox

解决方案


根据我的评论:

msc 将是一个字符串,所以一个简单的 if not msc: 将完成这项工作

或对特定值的测试if msc == "":

from tkinter import *
from tkinter import messagebox
from tkinter import ttk
import os
import shutil

root = Tk()
root.geometry("538x400")

def copyButton():

    msc = myCommbo.get() 
    if not msc:
        messagebox.showinfo("Error", "Value not selected") 
        return
    # Copy file to archive here 
    # Test copy result: if successful
    messagebox.showinfo("File Archive", "File Archived")
    # else
    # messagebox.showinfo("File Archive", "Archive Failed")

myCommbo = ttk.Combobox(root, value=["15","16","17","18","19","20"])
myCommbo.current()

myButton1 = Button(root, text="Copy to Archive", command=copyButton)

myCommbo.grid(row=2, column=1)
myButton1.grid(row=3, column=2, padx=50, pady=20)

root.mainloop()

推荐阅读