Мне нужна чистая консоль QT. Что за команда?
основной.cpp:
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
cout<<"How delete this?";
//system("CLS")?
return a.exec();
}
Мне нужна чистая консоль QT. Что за команда?
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
cout<<"How delete this?";
//system("CLS")?
return a.exec();
}
Вы можете выполнить:
QProcess::execute("CLS");
Это, конечно, будет работать только в Windows. В системах Linux/Unix вам нужно будет сделать:
QProcess::execute("clear");
Если все, что вам нужно сделать, это очистить экран, эти вещи будут работать. Однако, если вы пытаетесь создать более сложный текстовый интерфейс (где определенные строки фиксированы, или если вы хотите нарисовать индикаторы выполнения и т.п.), вам понадобится что-то более сложное.
QProcess::execute("CLS");
всегда возвращает -2 на моем компьютере с Windows 10. Неважно, запускал из ide или из шелла. Однако сама команда работает при вызове в обычном cmd
или PowerShell
окне. Вы уверены, что ваша команда работает в окне консоли QCoreApplication?
- person darkmattercoder; 19.11.2018
В Windows следует использовать
QProcess::execute("cmd /c cls");
Потому что обычный cls
, кажется, не работает в приложении.
В Linux, как указано выше
QProcess::execute("clear");
должно сработать.
Другие ответы проблематичны из-за введения условий гонки.
Это будет работать лучше: (Проверено на Ubuntu. Windows, я не знаю.)
printf("\033[2J"); // Clear Screen
printf("\033[3J"); // Clear Scrollback
system("CLS")
. Что такоеQT console
? - person Ramchandra Apte   schedule 17.11.2013