tkinter

freedragon發表於2024-04-07

當然,這裡是一個修正後的Python編碼答案,用於實現上述程式設計題的要求:

import tkinter as tk
from tkinter import ttk

# 初始投票結果
vote_counts = {"Python": 0, "Java": 0, "C++": 0, "JavaScript": 0}

def update_vote(language):
    # 更新投票結果
    vote_counts[language] += 1
    update_vote_display()

def update_vote_display():
    # 顯示更新後的投票結果
    result_text = "投票結果:\n"
    for lang, count in vote_counts.items():
        result_text += f"{lang}: {count}票\n"
    vote_result_label.config(text=result_text)

# 建立主視窗
root = tk.Tk()
root.title("程式語言投票")

# 建立下拉框
vote_var = tk.StringVar()
vote_options = ["Python", "Java", "C++", "JavaScript"]
combo_box = ttk.Combobox(root, values=vote_options, textvariable=vote_var)
combo_box.pack()

# 建立投票結果標籤
vote_result_label = tk.Label(root, text="投票結果:\n(等待使用者投票)")
vote_result_label.pack()

# 建立提交按鈕
submit_button = tk.Button(root, text="提交投票", command=lambda: update_vote(vote_var.get()))
submit_button.pack()

# 執行GUI程式
root.mainloop()

在這個修正後的程式碼中,我們定義了update_vote函式,它接受使用者選擇的程式語言作為引數,並更新相應的投票計數。然後,我們呼叫update_vote_display函式來更新GUI上的投票結果顯示。

此外,我們還修正了函式名update_vote的語法錯誤,並使用了vote_var.get()來獲取下拉框當前選中的值。這樣,當使用者從下拉框中選擇一個選項並點選提交按鈕時,程式將更新並顯示最新的投票結果。

相關文章