Python と tkinter の詳細については、YouTube ダウンローダーを作成しています。リンクを追加してボタンを押すと、メイン ウィンドウ内にサムネイルとタイトルが表示される別のウィンドウがあります。今、私はタイトルを機能させました。
関数は次のとおりです。
def display_yt_video(self, title):
thumbnail = tk.PhotoImage(file='thumbnail.gif')
photo_label = tk.Label(root, image=thumbnail)
photo_label.pack()
yt_label = tk.Label(gui.bottomFrame, text=title)
yt_label.pack()
彼は正しい「ルート」オブジェクトを見つけられないようです。エラーは表示されていません。ウィンドウ「ルート」と複数のフレームを使用しようとしました。まさにこの方法で、この写真を別のプログラムで開くことができました。
ここに私の縞模様のコードがあります:
from pytube import YouTube
import tkinter as tk
import urllib.request
root = tk.Tk()
class Gui:
def add_url_window(self):
ck_button = tk.Button(url_topframe, text='Add to Queue')
ck_button.bind('<Button-1>', dl.check_url)
ck_button.grid(row=2, column=2, padx=10)
class Downloader():
def check_url(self, event):
#try:
url = self.retrieve_input()
thumbnail_url = YouTube(url).thumbnail_url
urllib.request.urlretrieve(thumbnail_url, "thumbnail.gif")
yt_title = YouTube(url).title
print('done')
dl.display_yt_video(yt_title)
def display_yt_video(self, title):
thumbnail = tk.PhotoImage(file='thumbnail.gif')
photo_label = tk.Label(root, image=thumbnail)
photo_label.pack()
yt_label = tk.Label(gui.bottomFrame, text=title)
yt_label.pack()
dl = Downloader(root)
gui = Gui()
root = tk.Tk()
menu = tk.Menu()
root.config(menu=menu)
gui.build_window()
root.mainloop(