Създаване на команден ред в Qt Creator с помощта на класа QProcess
Използвайки класа QProcess, можете да създадете своя собствена конзола за команден ред. За да направите това, е достатъчно следното: нека създадем приложение с графичен интерфейс и да маркираме обекти от класовете QLineEdit и QTextEdit (lineEdit и textEdit) в главния прозорец, за да напишем заявка и да покажем резултата от заявката. Нека добавим обект от тип QProcess към нашия клас. Изисква се за изпълнение на системни команди. Нека създадем два слота. Слотът за команда() за изпълнение на заявка за команда. Свързваме този слот към сигнала returnPressed() на обекта lineEdit. Слотът ще бъде извикан при натискане на клавиша "Enter", когато нашият ред за въвеждане на текст е на фокус. Когато се изпълнява, текстът се чете от lineEdit и се предава като аргумент към функцията start() на обект от клас QProcess. За да работите в Windows, трябва да добавите префикса " cmd / C " към командния ред. Слотът setStdout() ще вземе потока от данни, получен от обекта QProcess, и ще го покаже в textEdit. Тук е необходимо да се вземе предвид още една особеност на Windows, а именно, че кодировките на командния ред и самата ОС са различни. Преобразуването може да се извърши с помощта на метода toUnicode() на класа QTextCodec. В този случай трябва да зададете кодирането "IBM 866".
джаджа. cpp
Фигурата по-долу показва резултата от командата dir:

С помощта на тази програма можете да реализирате управление на операционната система, без да използвате API функции. Трябва да се помни, че всички команди на тази програма се изпълняват от директорията за сглобяване на проекта. Не е възможно да използвате командата "cd" за промяна на директорията, тъй като всяка команда се изпълнява в отделна сесия и всеки преход ще бъде анулиран.
Възстановяване на 10% от сумата на хотелската резервация на Booking
Препоръчани статии по тази тема