これはPythonバージョン3.6.2ですメソッド内でtkinterフレームを破棄する
以下は、Google NewのRSSフィードを通じてニュースを取得する方法です。私はフレームを削除しようとしているので、メソッドが再び呼び出されるとテキストが消去され、新しいテキストに置き換えられます。フレームを取り除くにはどうすればいいですか?私はそれを削除すると、5つだけのニュース記事は、お互いに積み重ねるのではなく、表示されるときに呼ばれます。私は現在、ボトムフレームを持っています。ボトム左フレーム、すべてのニュース記事ラベルを保持するニュースフレーム、およびすべての画像を含む新聞画像フレームがあります。私はNews Frameを削除しようとしています。私はget_newsメソッドを呼び出すとラベルがない新しいフレームです。どんな助けもありがとう。これは、フレームの子供を取得し、それらを破壊しなければならない方法の初めに
def get_news():
try:
feed = feedparser.parse(google_news_url)
for post in feed.entries[0:5]:
newspaper_image = Label(frame_newspaper, bg='black', fg='white')
newspaper_image.configure(image=photo)
newspaper_image.icon = photo
label_news = Label(frame_news, bg='black', fg='white', font=newsFont)
label_news['text'] = post['title']
newspaper_image.pack(side=TOP, anchor=W)
label_news.pack(side=TOP, anchor=W)
frame_news.after(600000, get_news)
except Exception as e:
traceback.print_exc()
print("Error: %s. Cannot get news." % e)
フレームを破棄して再構築し、その内容を更新することをお勧めします。 '.config'メソッドを呼び出すことで、ラベル内のテキスト/イメージを変更することができます。または、StringVarをLabelに関連付け、そのStringVarの新しい値を '.set'します。 –
あなたの質問には質問はありません。あなたは欲しいものを言ったが、助けが必要なものは説明していない。 –
ループを作成するたびに5つのラベルを作成してテキストを更新すると、管理が簡単になると思いますが、それは単なるメッセージです。現在、ループするたびに5つのラベルを作成していますが、残りのラベルはもう一度ループします。 – PWRxPSYCHO