Qt-Jambi 冗长,尤其是 QtDynamicMetaObjectPrivate

标签 qt logging qt-jambi

启动 QtJambi 程序时,我在控制台(stderr)上收到很多此类消息:

QtDynamicMetaObjectPrivate::QtDynamicMetaObjectPrivate(0x7f75805bfe90) initialize q->d=0x7f75806786e0 m_original_signatures[1]="actionNew()"
QtDynamicMetaObjectPrivate::QtDynamicMetaObjectPrivate(0x7f75805bfe90) initialize q->d=0x7f75806786e0 m_original_signatures[2]="showAnalysisForm()"
QtDynamicMetaObjectPrivate::QtDynamicMetaObjectPrivate(0x7f75805bfe90) initialize q->d=0x7f75806786e0 m_original_signatures[3]="actionOpen()"
QtDynamicMetaObjectPrivate::QtDynamicMetaObjectPrivate(0x7f75805bfe90) initialize q->d=0x7f75806786e0 m_original_signatures[4]="actionSave()"
QtDynamicMetaObjectPrivate::QtDynamicMetaObjectPrivate(0x7f75805bfe90) initialize q->d=0x7f75806786e0 m_original_signatures[5]="actionSaveAs()"

函数名称(actionNew等)是我程序中的Qt插槽。但是,为什么我会看到这些消息,以及如何删除它们(这样它们就不会隐藏重要消息)?

我已经安装了一个QMessageHandler(我认为相当于qInstallMsgHandler),它现在给我一些警告消息,但上述消息不会通过我的消息处理程序.

最佳答案

这似乎是调试的剩余代码。在 .../qt-jambi-qtjambi-community/src/cpp/qtjambi/qtdynamicmetaobject.cpp 中,您会发现:

for (int i=0; i<m_method_count + m_signal_count; ++i) {
    jobject lr_string = env->GetObjectArrayElement(original_signatures, i);
    m_original_signatures[i] = qtjambi_to_qstring(env, (jstring) lr_string);
fprintf(stderr, "QtDynamicMetaObjectPrivate::QtDynamicMetaObjectPrivate(%p) initialize q->d=%p m_original_signatures[%d]=\"%s\"\n", this, &q->d, i, qPrintable(m_original_signatures[i]));
#ifdef QTJAMBI_DEBUG_LOCALREF_CLEANUP
    env->DeleteLocalRef(lr_string);
#endif
}

也许新的下载可以解决问题。或者,您可以尝试删除 fprintf() 自己并重建。

关于Qt-Jambi 冗长,尤其是 QtDynamicMetaObjectPrivate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19134838/

相关文章:

linux - X2go "qt_geo_map calling GLX 1.3 function "glXCreatePbuffer“当不支持 GLX 1.3 时!”

C++ - Qt Creator -/如何在 QDoubleSpinBox 上使用点和逗号作为小数分隔符?

c++ - "Drawing"在QT中使用完全透明的笔

node.js - nodejs并通过不同的模块进行日志记录

java - 来自 java.lang.J9VMInternals 的 NullPointerException

c++ - Qpushbutton 未显示

logging - HBase 适合存储和查询日志数据吗?

android - 有没有办法使用 logback-android 将事件从我的 Android 应用程序记录到 Stackdriver?

qt - 更改 QCalendarWidget 的水平标题背景颜色