簡體   English   中英

如何在python中運行Qt Application時在控制台中輸入?

[英]How to input in console while running Qt Application in python?

在運行PyQt應用程序時,我無法從終端中的用戶輸入任何內容。

實際上我正在創建一些東西,但我不能在這里顯示整個代碼所以有代碼的主要部分,並且相信我只需要修復它:

from PyQt4.QtGui import *
import sys
def window():
    app = QApplication(sys.argv)
    window = QWidget()
    btn = QPushButton()
    btn.setText("Input In Console")
    box = QFormLayout()
    box.addRow(btn)
    btn.clicked.connect(input_txt)
    window.setLayout(box)
    window.show()
    sys.exit(app.exec_())

def input_txt():
    input("Enter you Name ")

if __name__ == "__main__":
    window()

當按下按鈕運行時,循環災難開始: 結果

我真的嘗試了很多配置這個問題的解決方案,但都失敗了。 希望這些信息有所幫助,如果對該帖子有任何疑問,請在評論中說。

我不再需要這個了,但如果其他人有同樣的問題,我仍然會發布答案。

解決方案 :使用線程

from PyQt4.QtGui import *
import sys,threading
def window():
    app = QApplication(sys.argv)
    window = QWidget()
    btn = QPushButton()
    btn.setText("Input In Console")
    box = QFormLayout()
    box.addRow(btn)
    btn.clicked.connect(input_txt)
    window.setLayout(box)
    window.show()
    sys.exit(app.exec_())

def input_txt():
    thread = threading.Thread(target=input)
    thread.start()

if __name__ == "__main__":
    window()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM