2015-10-04 59 views
1

我想將我的應用程序打印在mini2440屏幕上。
我在Qt的控制檯應用程序使用這些命令:如何在控制檯應用程序的mini2440屏幕上打印我的應用程序的輸出?

#include <QCoreApplication> 
#include <QProcess> 
#include <QDebug> 


int main(int argc, char *argv[]) 
{ 
    QCoreApplication a(argc, argv); 
    qDebug() << "C++ Style Debug Message"; 
    qDebug("C Style Debug Message"); 

    system("echo 'system'"); 
    printf("printf"); 
    // qFatal does not have a C++ style method. 
    qFatal("C Style Fatal Error Message"); 
    return a.exec(); 
} 

但所有這些代碼只打印語句我末端不mini2440的屏幕上。我的設備開機後,我看到這些行:

開始聯網.....
啓動Web服務器....
開始LED的服務....

但我想從屏幕清理它們,並在我的屏幕上顯示我的輸出,而不是這些行中的 。 like these:
嗨親愛的用戶。

我該怎麼做?
我使用mini2440,並寫在mini2440的Qt創建者的應用程序。 (我評論Qtopia的運行我的程序)

謝謝:)

回答

2

你應該將你的應用程序的輸出重定向到屏幕上,通常它會定期輸出(終端)。

首先,驗證哪個tty代表了你的屏幕,在OK6410 bard(類似於你的)那裏是/ dev/tty0。簡單的測試,在控制檯上鍵入:

echo test > /dev/tty0 

並檢查文字是否在屏幕上。如果沒有,那麼嘗試用你的主板上的其他tty。

次,當屏幕在TTY知道,然後運行應用程序並重定向輸出:

./myTestAppl -qws > /dev/tty0 

凡tty0應由TTY在第一點爲你工作所取代。應用程序的輸出應顯示在屏幕上。

[編輯]

您還可以檢查哪些TTY是表示由評審委員會啓動腳本屏幕,並檢查其TTY是發送文字提到「啓動網絡.....」等

+0

是的。是工作。真的感謝。它會顯示輸出。但linux標誌不變。我怎樣才能清潔我的桌面? –

+1

我從來沒有測試過它,但應該可以工作:用零填充framebuffer:'dd if =/dev/zero of =/dev/fb0' – Blueman

0

使用STL:std::cout

qDebug()和其他預定義的Qt I/O流不用於顯示任何輸出。它們通常用於追蹤/記錄。

+0

沒有奏效。當我在終端主機上運行我的應用程序。它只是告訴我在我的終端上的結果,我的mini2440屏幕不會改變。而不是在mini2440屏幕上輸出 –

+0

@hony以及關於輸出的文檔是什麼? –

+0

你說得對,但我想在啓動後在mini2440屏幕上顯示它。我雖然如果我使用回聲命令它顯示結果,但我應該使用./myTestAppl -qws>/dev/tty0在屏幕上顯示結果。 –

相關問題