Qt Resource System چیست؟ فایل qrc چیست؟
از قابلیتهای کیوت که بسیار پر استفادهست، قابلیتی به نام Qt Resource System هست که فایلهای اون با پسوند qrc نشانهگذاری میشن و شما به کمک این قابلیت میتونید فایلهای مربوط به برنامتون رو به باینری اصلی بچسبونید و درون باینری جایگذاری کنید.
اگر فایلهای qrc رو با یک وایرایشگر متن ساده باز کنید، میبینید که فایلهای xml کاملاً استاتیک هستند.
اما وقتی وارد برنامهنویسی حرفهایتر میشید، خیلی وقتها لازم دارید این مخازن فایلها بصورت پویا یا داینامیک ساخته بشن. موقع کامپایل بعضی فایلهارو حذف کنید، بعضیهارو اضافه کنید و حتی شرط بذارید کدوم فایلها تو کدوم سیستمعاملها به resource اضافه بشن.
برای این منظور تیم کیوت قابلیتی رو درون qmake پیادهسازی کرده که شما به کمک اون میتونید کاملاً بصورت داینامیک این فایلهارو موقع کامپایل تولید کنید و دیگه خبری از فایلهای xml نیست.
ساخت resource به کمک qmake بدون نیاز به ایجاد فایل qrs
برای ساختن مخزن پویا اولین کاری که میکنید توی فایل pro پروژهتون یه لیست از تمام فایلهایی که میخواید تو resource قرار بدید بسازید، مثلا:
FILES_LIST += file1.jpg file2.txt folder/file3.mp3
و بعد از اون یه متغیر به شکل زیر بسازید:
myresourcevar.files = $$FILES_LIST
myresourcevar.prefix = /path/to/prefix
و در نهایت مثل resource های عادی اونو به متغیر RESOURCES اضافه کنید:
RESOURCES += myresourcevar
حالا اگر پروژه رو کامپایل کنید، همه فایلهایی که به resource اضافه کردید، در آدرس /path/to/prefix/: در دسترس خواهند بود.