بسیاری از دوستان زمانی که به توزیع فدورا قدم میزارن
و قصد کد نویسی با فریمورک Qt رو دارن
ممکنه مشکلاتی داشته باشن از جمله:
1- نمایش ندادن خروجی qDebug در ترمینال
2- نمایش ندادن هیچ خروجی در application output در Qt-creator
راه حل:
تنها به نمایش دادن خروجی در qDebug راضی بشیم با قرار دادن Rules
درفایل:
~/.config/QtProject/qtlogging.ini
*.debug=true
qt.*.debug=false
بعد از قرار دادن دستورات مورد نظر حالت debug مود فعال و خروجی qDebug در ترمینال قابل مشاهده خواهد بود
خوب شاید از خودتون بپرسید که من چطوری باید کاری کنم برای برنامه ام که در توزیع های دیگه نیازی نباشه به اون یوزر بگم که همچین کارهای انجام بده
برای این راه حل بایستی از کتابخانه
QLoggingCategory
و مقدار دهی کردن فانکشن
QLoggingCategory::setFilterRules("*.debug=true");
این کار رو انجام بدید.
خوب تا اینجا مشکل اول رفع شد و از الان به بعد خروجی qDebug در ترمینال نمایش داده میشه
بریم سوال2: شاید عادت کرده باشیم در محل کار و یا ویندوز و یا آموزش های که میبینیم و یا هرجای دیگه ای که از qt-creator استفاده میکنیم خروجی رو در خود Qt-creator ببینیم
از جمله خودم که اینطوری عادت دارم:
بایستی به این صورت عمل کرد که اول به این آدرس رفت در Qt-creator:
Qt creator > Tools > Options > Kits
و بعد پیدا کردن Environment
و بعد کلیک برای تغییر و اضافه کردن:
QT_ASSUME_STDERR_HAS_CONSOLE=1
و در نهایت شما میتونید خروجی qDebug رو در Qt-creator مشاهده کنید.