Я новичок в программировании Qt, я сделал простой gui с помощью одной кнопки. В принципе, я написал программу на C++, теперь хочу сделать Gui для моего проекта. Я хочу отобразить вывод всей инструкции printf в моем gui. printf, показывающие их вывод в консоли, но я хочу добавить что-то похожее на консоль в моем gui, чтобы всякий раз, когда я вызываю printf, он показывает его результат в gui. Не могли бы вы посоветовать мне, как я могу это сделать?display printf output в главном окне в QT
ответ
Вы можете использовать QLabel, чтобы показать свой результат в графическом интерфейсе.
Каждый раз, когда вы вызываете printf, вместо этого вы вызываете setText(...). Теперь текст отладки будет отображаться в текстовой метке в вашем графическом интерфейсе.
Вы можете добавить несколько QLabels для различных отладочных выходов, если хотите.
EDIT:
This также может представлять интерес.
использование QProcess запустить программу CLI и использовать readData/WriteData, чтобы получить информацию и поместить их в QTextEdit
я нашел ответ на мой вопрос, я использовал textbrowser в графическом интерфейсе и сделать функцию, которую я позвоните для печати моих данных в gui. Я не могу показать картинку моего ги, потому что у меня меньше репутации.
здесь функция, которую я использовал для печати.
void MainWindow::print(const QString &input){
data_lab += input;//to display all data in stream
ui->label->setText(input);
ui->textBrowser->setText(data_lab);
}
и вот вызов функции из основного.
w.print("hellok\n");
w.print("l\n");
Я надеюсь, что это поможет кому-то вроде меня.
Вы также можете использовать [QTextEdit :: append (const QString & text)] (http://qt-project.org/doc/qt-5.0/qtwidgets/qtextedit.html#append).Таким образом, вам не нужно сохранять переменную, содержащую все печатные данные, вы можете просто добавить новые строки в текстовый браузер. 'ui-> textBrowser-> append (input);' – thuga
Если вы так обеспокоены производительностью, добавление и переустановка текста в поле так плохо. –
Если это не так хорошо, что это хороший метод? – Goddard
- 1. Диалог Qt в главном окне
- 2. кнопка Qt не отображается в главном окне
- 3. Qt виджеты не отображаются в главном окне
- 4. Значок не отображается в главном окне Qt
- 5. Путаница в printf() output
- 6. как установить значок в главном окне и действие с QT
- 7. Использование QProcessAnimation в главном окне
- 8. Плавающее окно в главном окне
- 9. Positioning холст в главном окне
- 10. просмотров CodeIgniter в главном окне
- 11. WPF Просмотров в главном окне
- 12. android output display
- 13. C remove printf output
- 14. STL Display Output
- 15. printf unaligned output
- 16. открыть дочерний виджет QGraphicScene в главном окне
- 17. Как сделать Qt :: Инструмент не остается на главном окне
- 18. Рисование аудиоданных, захваченных в главном окне
- 19. Печать в всплывающем окне, а не в главном окне
- 20. Printf в системном вызове возвращает Malformed OUTPUT
- 21. C printf output to variable
- 22. SublimeText Output Display Finish Time
- 23. display 'make' output in 'vim'
- 24. edit display php recordSet output
- 25. Использование os.walk в главном окне Tkinter
- 26. Как отображать wpf Заставка в главном окне?
- 27. Динамически изменить размер холста в главном окне?
- 28. PySide make QDialog появляется в главном окне
- 29. Переадресация всплывающего окна в главном окне
- 30. Управление WinApi не отображается в главном окне
Это так низкопроизводительное решение –
@KamilKlimek: Возможно, вы обрабатываете богатый текст вместо обычного текста, я могу себе представить, что это занимает больше времени. Попробуйте установить обычный текст с помощью [textFormat()] (http://qt-project.org/doc/qt-4.8/qlabel.html#textFormat-prop), если вы используете только обычный текст. – gartenriese
Я использую операционную систему реального времени, такую как xenomai, и я использую rt_printf вместо printf, потому что printf работает слишком медленно. не могли бы вы сообщить мне, как я могу использовать rt_printf в qt или чередуться с тем же? – nabeel