1

tkinterで小さなGUIプログラムを作ろうとしています。Pythonを使用する必要があります

subprocess.call()

クラスメソッド内でこれを行おうとすると、次のエラーが発生します。

    self.return_code = self.subprocess.call("echo Hello World", shell=True)
AttributeError: 'App' object has no attribute 'subprocess'

これが私のプログラムの一部です:

from tkinter import *
from subprocess import call

class App:
    def __init__(self, mainframe):
        self.mainframe = ttk.Frame(root, padding="10 10 12 12", relief=GROOVE) 
        self.mainframe.grid(column=0, row=1, sticky=(N, W, E, S))

        self.proceedButton = ttk.Button(self.mainframe, text="Proceed", command=self.proceed)
        self.proceedButton.grid(column=0, row=9, sticky=(W))

    def proceed(self):
        self.proceedButton.config(state=DISABLED)
        self.return_code = self.subprocess.call("echo Hello World", shell=True)

proceed関数内の最後の行はエラーをスローします。

私はPythonを学んでいます。任意のガイダンスをいただければ幸いです。

4

1 に答える 1

3

subprocess.call代わりに試してくださいself.subprocess.call

import subprocess
self.return_code = subprocess.call("echo Hello World", shell=True)

selfのインスタンスですAppsubprocessモジュールです。なぜself.subprocess間違っているのかを理解するには、クラスに関するPythonチュートリアルの「ランダムな注釈」を読んでください。次に、モジュールについて、およびモジュールの関数を呼び出す方法について説明します

于 2013-03-23T21:35:30.393 に答える