いくつかのログを表示しているように、アイテムの数をリストする方法を知りたいと思いました。実際、ネットワークからある種のパケットを受信したので、ユーザーのGUIにある種のログを表示したいと思います。現在、リストウィジェットを選択しましたが、他に方法があるかどうか知りたいと思いました。
3 に答える
1
qInstallMsgHandlerを使用してから、いくつかのコマンドライン スイッチに応じて、GUI、コンソール、またはログ ファイルにリダイレクトします。多くのメッセージがある場合は、ファイルにログを記録したいかもしれませんが、行/項目の短いバーストの場合は、カスタムQStringListModelと、おそらく QListView にログを記録できます。
基本的に、参照リンクの例とSO Questionを拡張しました
#include <qapplication.h>
#include <stdio.h>
#include <stdlib.h>
void myMessageOutput(QtMsgType type, const char *msg)
{
switch (type) {
case QtDebugMsg:
fprintf(stderr, "Debug: %s\n", msg);
break;
case QtWarningMsg:
fprintf(stderr, "Warning: %s\n", msg);
break;
case QtCriticalMsg:
fprintf(stderr, "Critical: %s\n", msg);
break;
case QtFatalMsg:
fprintf(stderr, "Fatal: %s\n", msg);
abort();
}
}
int main(int argc, char **argv)
{
qInstallMsgHandler(myMessageOutput);
QApplication app(argc, argv);
...
return app.exec();
}
于 2012-05-15T15:17:26.490 に答える
0
目的がログ記録のみであると推測すると、ログ記録がqDebug()
最も簡単で簡単なため、使用できます。
于 2012-05-15T13:33:14.930 に答える
0
検索、フィルタリング、並べ替えなどの豊富な機能が必要な場合は、QTreeWidget を使用してデータを列に分割することもできます。List/Tree Widget は、すばやく追加してすばやく削除できるため、優れています。
テキスト ウィジェットを使用してそのようなことを行う人もいますが、データが多いとパフォーマンスが低下します。
于 2012-05-15T14:24:37.160 に答える