當然,這裡是一個修正後的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()
來獲取下拉框當前選中的值。這樣,當使用者從下拉框中選擇一個選項並點選提交按鈕時,程式將更新並顯示最新的投票結果。