• 10583阅读
  • 11回复

[提问]如何修改console中输出的字体颜色 [复制链接]

上一主题 下一主题
离线huyaowu
 

只看楼主 倒序阅读 楼主  发表于: 2011-03-04
— 本帖被 XChinux 执行加亮操作(2011-03-04) —
exe程序通过在pro文件中加CONFIG += consloe打开调试窗口,有办法能改变console中的字体颜色吗?
离线dbzhang800

只看该作者 1楼 发表于: 2011-03-04
引用楼主huyaowu于2011-03-04 16:05发表的 如何修改console中输出的字体颜色 :
exe程序通过在pro文件中加CONFIG += consloe打开调试窗口,有办法能改变console中的字体颜色吗?

有!
离线huyaowu

只看该作者 2楼 发表于: 2011-03-04
啥办法啊?
离线kimtaikee

只看该作者 3楼 发表于: 2011-03-04
你在console的窗口标题上右键单击,打开属性对话框,就像修改CMD的属性一样

离线huyaowu

只看该作者 4楼 发表于: 2011-03-04
回 3楼(kimtaikee) 的帖子
这也是一个办法,不过我是想在程序起来后,弹出的console就已经修改好字体颜色了,不用手动去自己设置那种~
离线dbzhang800

只看该作者 5楼 发表于: 2011-03-04
Re:回 3楼(kimtaikee) 的帖子
引用第4楼huyaowu于2011-03-04 17:07发表的 回 3楼(kimtaikee) 的帖子 :
这也是一个办法,不过我是想在程序起来后,弹出的console就已经修改好字体颜色了,不用手动去自己设置那种~

  1. #include <QtGui/QApplication>
  2. #include <qt_windows.h>
  3. #ifdef Q_OS_WIN32
  4. void myprint(const QString& text, int color)
  5. {
  6.     WORD colorOld;
  7.     HANDLE handle = ::GetStdHandle(STD_OUTPUT_HANDLE);
  8.     CONSOLE_SCREEN_BUFFER_INFO csbi;
  9.     GetConsoleScreenBufferInfo(handle, &csbi);
  10.     colorOld = csbi.wAttributes;
  11.     SetConsoleTextAttribute(handle, color);
  12.     qDebug(qPrintable(text));
  13.     SetConsoleTextAttribute(handle, colorOld);
  14. }
  15. #else
  16. void myprint(const QString &text, int color)
  17. {
  18.     qDebug(qPrintable(text));
  19. }
  20. #endif
  21. int main(int argc, char *argv[])
  22. {
  23.     QApplication a(argc, argv);
  24.     myprint("hello", 1); //blue
  25.     myprint("Qt", 2); //green
  26.     myprint("!", 4); //red
  27.     return a.exec();
  28. }
离线kimtaikee

只看该作者 6楼 发表于: 2011-03-04
我记得是修改一次就一直生效的

离线huyaowu

只看该作者 7楼 发表于: 2011-03-04
回 5楼(dbzhang800) 的帖子
bdzhang, 我爱你!
离线huyaowu

只看该作者 8楼 发表于: 2011-03-04
回 7楼(huyaowu) 的帖子
不好意思打错,dbzhang~呵呵
离线wxyao

只看该作者 9楼 发表于: 2011-03-04
我记得调用 system("color 1")就行啦,跟调用system("pause.exe")一样。  要包含stdlib.h头文件,好象是。

离线wxyao

只看该作者 10楼 发表于: 2011-03-04
在windows下这样就可以噢


  1. #include <QtCore/QCoreApplication>
  2. #include <qDebug>
  3. #include "stdlib.h"
  4. int main(int argc, char *argv[])
  5. {
  6. QCoreApplication a(argc, argv);
  7. system("color 2");
  8. qDebug() << "test";
  9. system("pause.exe");
  10. return a.exec();
  11. }


离线huyaowu

只看该作者 11楼 发表于: 2011-03-05
回 9楼(wxyao) 的帖子
这个方法也行哦~
快速回复
限100 字节
 
上一个 下一个