簡體   English   中英

如何為我的 tkinter 程序編寫錯誤代碼

[英]How to write an error code for my tkinter program

我有這個程序,它從用戶那里獲取一些輸入並將其保存在 CSV 文件中。

現在我想制作一個錯誤代碼,這樣每當用戶的消息超過 140 個字符時,它就會告訴他們最大字符數是 140。我該如何編程呢?

import tkinter
import csv
import random
from tkinter import *
import datetime
from tkinter import messagebox

window = tkinter.Tk()
window.geometry("1920x1080")

def on_click():
    messagebox.showerror("Error", 'Error: Het bericht mag maximaal 140 tekens bevatten')

label = Label(window, text="Click this button to show the message",
font=('Calibri 15 bold'))
label.pack(pady=20)

b = Button(window, text='Click me', command=on_click)
b.pack(pady=20)

def get_data():
    global button
    Message_data = Message.get()
    Name_data = Name.get()
    vandaag = datetime.datetime.today()
    s = vandaag.strftime("%a %d %b %Y %H:%M")
stations = ['Arnhem', 'Almere', 'Amersfoort', 'Almelo', 'Alkmaar', 'Apeldoorn', 'Assen', 'Amsterdam',          'Boxtel',
            'Breda', 'Dordrecht', 'Delft', 'Deventer', 'Enschede', 'Gouda', 'Groningen', 'Den Haag', 'Hengelo',
            'Haarlem', 'Helmond', 'Hoorn', 'Heerlen', 'Den Bosch', 'Hilversum', 'Leiden', 'Lelystad', 'Leeuwarden',
            'Maastricht', 'Nijmegen', 'Oss', 'Roermond', 'Roosendaal', 'Sittard', 'Tilburg', 'Utrecht', 'Venlo',
            'Vlissingen', 'Zaandam', 'Zwolle', 'Zutphen']
    station = random.choice(stations)
    with open('file.csv', 'a') as csvfile:
        w = csv.writer(csvfile, quoting=csv.QUOTE_ALL)
        #w.writerow([Message_data + ", " + Date_data + ", " + Name_data + ", " + station])
        if Name_data == '':
            w.writerow([Message_data + ", " + s + ", " + 'anoniem' + ", " + station])
        else:
            w.writerow([Message_data + ", " + s + ", " + Name_data + ", " + station])

Message_Text = tkinter.Label(window, text="Vul hier een bericht in", font=("Calibri", 20),bg="#a9a9a9",  fg="#ffffff")
Message = tkinter.Entry(window, font=("Calibri", 20),width=45, bg="#ffffff", fg="black")
Name_label = tkinter.Label(window, text="Vul hier je naam in", font=("Calibri", 20), fg="#ffffff")
Name = tkinter.Entry(window, font=("Calibri", 20), bg="#ffffff", fg="black")
button = tkinter.Button(window, text="Submit", width =20,height=5, font=("Calibri", 20),  command=get_data, bg="#a9a9a9", fg="#ffffff")


Message_Text.pack()
Message.pack()
Name_label.pack()
Name.pack()
button.pack()
window.mainloop()
#root.mainloop()

我嘗試使用len() function 來確定Message_Data是否超過 140 個字符,然后以不同的方式對提交按鈕進行編程以調用 function on_click ,但不幸的是這沒有用。

試試吧:

def get_data():
    global button
    Message_data = Message.get()
    if len(Message_data) > 140:
        messagebox.showerror("Error", 'Error: Het bericht mag maximaal 140 tekens bevatten')
        return

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM