クラス tkinter から関数を呼び出せません

123
class Video:
    def __init__(self):
        self.v1 = StringVar()    
        self.entry1 = Entry(root, textvariable=v1)
        self.entry1.pack()
        self.downloadUrl = v1.get()
    def downloadVideo(self):

        ydl_opts = {}
        with youtube_dl.YoutubeDL(ydl_opts) as ydl:
                self.ydl.download([self.downloadUrl])
menu = Menu(root)
root.config(menu=menu)    
menuOne = Menu(menu, tearoff=0)
menu.add_cascade(label='Magrobebi', menu=menuOne)   
menuOne.add_command(label='Download Video', command=Video.downloadVideo)

メニューにビデオをダウンロードするボタンを作成しようとしています。その downloadUrl はグローバル変数ではないため、渡すのに問題がありました。コマンド自体をクラスに入れることはできません。なぜなら、そのように作成されることさえないからです。現在、「TypeError: downloadVideo() missing 1 required positionar argument: 'self'」が発生しているエラーです。これで別のクラスから関数を呼び出すことができません。これを回避するにはどうすればよいですか? ユーザーがリンクを入力してダウンロードできるエントリを作成するボタンが欲しいだけです。

13smith_oliver

を参照することselfが問題である場合は、次のようにクラスの外部にコードを追加できます。

from tkinter import *
import youtube_dl

root = Tk()

v1 = StringVar()    
entry1 = Entry(root, textvariable=v1)
entry1.pack()

def downloadVideo():
    downloadUrl = v1.get()
    ydl_opts = {}
    with youtube_dl.YoutubeDL(ydl_opts) as ydl:
            ydl.download(downloadUrl)

menu = Menu(root)
root.config(menu=menu)    
menuOne = Menu(menu, tearoff=0)
menu.add_cascade(label='Magrobebi', menu=menuOne)   
menuOne.add_command(label='Download Video', command=downloadVideo)

root.mainloop()

これにより、ボタンを押すとビデオをダウンロードするオプションが表示されるウィンドウと、その下に入力ボックスが表示されます。

編集: asdownloadUrl = v1.get()の呼び出しに必要なものはすぐに内部の文字列downloadVideo().get()取得しますStringVar()

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

別のクラスの関数からJavaScriptを呼び出せません

分類Dev

tkinterの他のクラスからボタン関数を呼び出す

分類Dev

Tkinterボタンからクラス内の関数を呼び出す

分類Dev

他のクラスからクラスへの関数を呼び出すことはできません

分類Dev

オブジェクト移動関数は、呼び出した後でも効果がありません:Tkinter

分類Dev

HTMLからJavascriptクラスを呼び出せません

分類Dev

メインからクラス関数を呼び出せません、「関数ではありません」エラー

分類Dev

tkinterクラスからメソッドを呼び出す

分類Dev

テスト関数からの関数呼び出しから関数呼び出しをモックできません

分類Dev

コンストラクターの子型から関数を呼び出すことはできません

分類Dev

Flutterは別のクラスから非同期関数を呼び出すことはできません

分類Dev

phpクラスからグローバル関数を呼び出すことはできません

分類Dev

別のクラスから関数を呼び出すと正しく機能しません

分類Dev

Tkinterマルチプロセッシングと別のクラスからの関数の呼び出し

分類Dev

PHP関数を呼び出すと、クエリ結果から1行しか得られません

分類Dev

tkinterにチェックボックスを処理させて特定の関数を呼び出すにはどうすればよいですか?

分類Dev

Python Tkinter TypeError: 'int'オブジェクトは呼び出せません

分類Dev

クラス外からイベントを呼び出させません

分類Dev

クラス関数(パラメーター化されたクラス)を呼び出せません

分類Dev

ReactJsボタンクリックから関数を呼び出すことができません

分類Dev

C ++なぜ「父クラス静的関数」を呼び出し、父デストラクタだけを呼び出すのか理解できません

分類Dev

PyQt4がQThreadクラスからメインGuiクラスの関数を呼び出すことができません

分類Dev

関数を呼び出すときにコンストラクターは呼び出されません

分類Dev

ExcelワークシートセルからVBA関数を呼び出すことができません

分類Dev

サービスから関数を呼び出すと、「これ」は定義されません

分類Dev

QtからC ++関数を呼び出す(スロットは機能しません)

分類Dev

アドレスから関数を呼び出すことができません

分類Dev

異なるクラスから関数を呼び出すと、TypeErrorが発生します:1つの必須の位置引数がありません

分類Dev

tkinterフォントに属性「呼び出し」エラーはありません

Related 関連記事

  1. 1

    別のクラスの関数からJavaScriptを呼び出せません

  2. 2

    tkinterの他のクラスからボタン関数を呼び出す

  3. 3

    Tkinterボタンからクラス内の関数を呼び出す

  4. 4

    他のクラスからクラスへの関数を呼び出すことはできません

  5. 5

    オブジェクト移動関数は、呼び出した後でも効果がありません:Tkinter

  6. 6

    HTMLからJavascriptクラスを呼び出せません

  7. 7

    メインからクラス関数を呼び出せません、「関数ではありません」エラー

  8. 8

    tkinterクラスからメソッドを呼び出す

  9. 9

    テスト関数からの関数呼び出しから関数呼び出しをモックできません

  10. 10

    コンストラクターの子型から関数を呼び出すことはできません

  11. 11

    Flutterは別のクラスから非同期関数を呼び出すことはできません

  12. 12

    phpクラスからグローバル関数を呼び出すことはできません

  13. 13

    別のクラスから関数を呼び出すと正しく機能しません

  14. 14

    Tkinterマルチプロセッシングと別のクラスからの関数の呼び出し

  15. 15

    PHP関数を呼び出すと、クエリ結果から1行しか得られません

  16. 16

    tkinterにチェックボックスを処理させて特定の関数を呼び出すにはどうすればよいですか?

  17. 17

    Python Tkinter TypeError: 'int'オブジェクトは呼び出せません

  18. 18

    クラス外からイベントを呼び出させません

  19. 19

    クラス関数(パラメーター化されたクラス)を呼び出せません

  20. 20

    ReactJsボタンクリックから関数を呼び出すことができません

  21. 21

    C ++なぜ「父クラス静的関数」を呼び出し、父デストラクタだけを呼び出すのか理解できません

  22. 22

    PyQt4がQThreadクラスからメインGuiクラスの関数を呼び出すことができません

  23. 23

    関数を呼び出すときにコンストラクターは呼び出されません

  24. 24

    ExcelワークシートセルからVBA関数を呼び出すことができません

  25. 25

    サービスから関数を呼び出すと、「これ」は定義されません

  26. 26

    QtからC ++関数を呼び出す(スロットは機能しません)

  27. 27

    アドレスから関数を呼び出すことができません

  28. 28

    異なるクラスから関数を呼び出すと、TypeErrorが発生します:1つの必須の位置引数がありません

  29. 29

    tkinterフォントに属性「呼び出し」エラーはありません

ホットタグ

アーカイブ