-1

Python3でtkMessageBoxを使って警告を出したいです。この警告は、ユーザーがリストボックスから要素を選択しない場合に発生するはずです。残念ながら、メッセージ ボックスを実装しようとすると、想定どおりに起動しません。メッセージ ボックスを実装するコードを含む pietalkgui.py というスクリプトのコードがあります。

from tkinter import messagebox

# Gives warning if no user is selected for whisper
def whisperwarning(self):
    # show warning to user
    showwarning("Select User","Select a user to whisper to!")

# Handles whisper
def whispermessage(self):
    # stores element selected in temp variable
    temp = self.userslist.get(self.userslist.curselection())
     # if no item is selected from userslist (listbox)
    if temp == "":
        # launch warning to user if no item is selected
        self.whisperwarning()
    else:
        # retrieves usernames from userslist
        username = temp
        # storing whisper
        outwhisper = ' /w "' + username +'" ' + self.messagebox.get("0.0",END)
        # handling whisper
        self.handler(outwhisper)
        # erase message in message box
        self.messagebox.delete("0.0",END)

tkMessageBox の実装で何か間違ったことをしていますか? または、リストボックスから項目が選択されていないかどうかを適切に確認していませんか?

4

1 に答える 1

0

メソッドを呼び出しているようですが、showwarning定義もインポートもしていません。これはモジュールの関数の名前なmessageboxので、おそらくこれを変更する必要があります:

showwarning("Select User","Select a user to whisper to!")

...これに:

messagebox.showwarning("Select User","Select a user to whisper to!")

また、FWIW、このコードは少し間違っています: self.messagebox.delete("0.0",END)-- テキスト インデックスは "0.0" ではなく "1.0" から始まります。

于 2014-12-15T16:31:00.757 に答える