PyQTの経験では、サンプルコードHEREに従っていますが、開始ダウンロード部分をどのように分けることができるかについてはわかりませんGUI部分を起動して、代わりにOK(startBtn)ボタンを押して起動することができます。また、私は何もしないが、あなたにエラーを与えるコマンドを知っているが、私はそれが動作していることを知っている。
ご了承ください。PyQt5:ボタンをクリックして特定のサブプロセスを開始したい
from PyQt5.QtWidgets import QApplication, QWidget, QMainWindow, QAction, qApp, QDesktopWidget, QPushButton, QHBoxLayout, QVBoxLayout, QTextEdit
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import QThread, QProcess
import sys
class GUI(QProcess):
def __init__(self):
super().__init__()
# Create an instance variable here (of type QTextEdit)
startBtn = QPushButton('OK')
stopBtn = QPushButton('Cancel')
#startBtn.clicked.connect()
stopBtn.clicked.connect(qApp.exit)
self.hbox = QHBoxLayout()
self.hbox.addStretch(1)
self.hbox.addWidget(startBtn)
self.hbox.addWidget(stopBtn)
self.edit = QTextEdit()
self.edit.setWindowTitle("QTextEdit Standard Output Redirection")
self.vbox = QVBoxLayout()
self.vbox.addStretch(1)
self.vbox.addWidget(self.edit)
self.vbox.addLayout(self.hbox)
#setLayout(self.vbox)
self.central=QWidget()
#self.vbox.addWidget(self.edit)
self.central.setLayout(self.vbox)
self.central.show()
def readStdOutput(self):
self.edit.append(str(self.readAllStandardOutput()))
def main():
app = QApplication(sys.argv)
qProcess = GUI()
qProcess.setProcessChannelMode(QProcess.MergedChannels);
qProcess.start("youtube-dl")
qProcess.readyReadStandardOutput.connect(qProcess.readStdOutput);
return app.exec_()
if __name__ == '__main__':
main()
2ノート:
あなたも、あなたがそれを押したときにプロセスが終了するまで、OKボタンを無効にする方法を知っている場合は、私が知っているのが大好きです。
すべての輸入品が使用されているわけではありませんが、後でクリーニングすることができます。 PyCharmは使用されているかどうかを示します。クリーンアップは後で行います。あなたは、いくつかの考慮事項持っている必要が頼む何をすべきか
ターnks、これはトンを助ける!これは私のための難しい部分でした。私は手動でアップデートする.txtファイルとYoutube-dlを使用していますが、それ以外のいくつかのパラメータが含まれていますが、含まれていません。今度は、GUIを使ってパラメータを変更/追加する方法を学びます。 – Thomasedv
私の答えが正しいとマークするのに役立ちます。 – eyllanesc
はい、もちろんです。ちょうどGoogleに最初にやらなければならなかった... - .-私はサイトを初めて利用しています...それはとても明らかでした... – Thomasedv