برنامه نویسی با فریمورک Qt در توزیع فدورا

بسیاری از دوستان زمانی که به توزیع فدورا قدم میزارن
و قصد کد نویسی با فریمورک 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 مشاهده کنید.

1 Like

درود،

برای پیشگیری از چنین مشکلاتی استفاده از نسخه KDE Plasma Desktop بهترین گزینه است. فراموش نکنیم که پیشگیری از درمان بهتره :ok_hand:t2: