Qt6.2.4 qDebug() 输出到控件
参考
环境
环境 | 版本 |
---|---|
windows | 10 |
Qt | 6.2.4 |
Qt Creator | 8.0.1 (Community) |
qmake |
一句话总结
通过给 qInstallMessageHandler() 传入一个方法(main.cpp)或静态方法(控件中) 将 qDebug() 内容输出到窗口。其中静态方法需要解决的问题是获取控件实例,通过在类构造函数中给静态属性赋值的方式。
代码
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include "configtool.h"
#include "loadwamp.h"
#include "servicetool.h"
#include <QMainWindow>
#include <QSystemTrayIcon>
#include <QCloseEvent>
#include <QList>
#include <QFileInfo>
#include <QComboBox>
#include <QString>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
static void appendLogToEdit(QtMsgType type, const QMessageLogContext &context, const QString &msg);
private slots:
private:
Ui::MainWindow *ui;
// 声明自身静态属性来保存实例指针
static MainWindow *mainWindow;
};
#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QCoreApplication>
#include <QDebug>
#include <QString>
#include <QUrl>
#include <QDesktopServices>
#include <QMainWindow>
#include <QSystemTrayIcon>
#include <QIcon>
#include <QMenu>
#include <QAction>
#include <loadwamp.h>
#include <QFileInfo>
#include <QList>
#include <configtool.h>
#include <QComboBox>
#include <QProcess>
// 初始化静态属性
MainWindow *MainWindow::mainWindow = NULL;
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
// 静态属性赋值
MainWindow::mainWindow = this;
// 注册日志方法
qInstallMessageHandler(appendLogToEdit);
// qInstallMessageHandler([&](QtMsgType type, const QMessageLogContext &context, const QString &msg) -> void {
// ui->showLogEdit->append(msg);
// });
}
/**
* @brief MainWindow::appendLogToEdit
* @param rowLog
* 追加显示日志到 edit中
*/
void MainWindow::appendLogToEdit(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
if(MainWindow::mainWindow != NULL){
MainWindow::mainWindow->ui->showLogEdit->append(msg);
}
}
博 主 :夏秋初
地 址 :https://www.cnblogs.com/xiaqiuchu/p/16729250.html
如果对你有帮助,可以点一下 推荐 或者 关注 吗?会让我的分享变得更有动力~
转载时请带上原文链接,谢谢。
地 址 :https://www.cnblogs.com/xiaqiuchu/p/16729250.html
如果对你有帮助,可以点一下 推荐 或者 关注 吗?会让我的分享变得更有动力~
转载时请带上原文链接,谢谢。
标签:
qt
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理