2013-04-11 90 views
0

我想使用QTextEdit在Qt中實現一個簡單的圖形shell。我想獲得用戶命令並在QTextEdit中打印結果。在qt中實現一個GUI Shell

下面的代碼返回QTextEdit的全部內容:

text_editor.toPlainText().toAscii(); 

但我不知道如何與什麼用戶輸入的,什麼是印刷前進行區分。什麼是正確的方法來做到這一點?

+2

爲什麼你不只有2個文本編輯?一個用於輸入,一個用於輸出?然後,您可能會將輸出文本編輯爲只讀文本編輯。當你說「shell like」你想創建一個像界面一樣的命令行嗎? – Viv

+0

是的。我想創建一個類似的命令行。使用兩個文本編輯不是我的目標。我希望我的用戶輸入命令並查看結果 – babak6

回答

1

使用QTextEdit輸出。它支持多行,您可以使用HTML控制顏色。然後使用單行QLineEdit輸入命令。將QLineEdit放置在QTextEdit下,並且您有一個簡單命令界面的GUI!當您向QLineEdit輸入命令時,也可以使用與命令結果不同的顏色將其打印到QTextEdit。

這比試圖用一個小部件做所有事情要容易得多。

1

重新實現按鍵事件處理程序來完成它的正常工作,同時也保存用戶鍵入的數據。一旦輸入被按下,單獨保存的文本就會被執行並清除。

+0

通過這種方式,我必須處理我自己的所有事情。是否有高層次的解決方案? – babak6

+0

@ babak6您必須重新實現一個方法,保存按鍵,然後監視「Enter」。無論如何,你要做的其他事情都要做。 – cmannett85