رفتن به مطلب
جامعه‌ی برنامه‌نویسان مُدرن ایران

بهنام صباغی

مدیران مرجع
  • تعداد ارسال ها

    81
  • تاریخ عضویت

  • آخرین بازدید

  • روز های برد

    24

آخرین بار برد بهنام صباغی در 4 شهریور

بهنام صباغی یکی از رکورد داران بیشترین تعداد پسند مطالب است !

اعتبار در سایت

71 عالی

2 دنبال کننده

درباره بهنام صباغی

میانجی گر‌ها
  • تاریخ تولد 12 مهر 1374

اطلاعات شبکه‌ای

موقعیت

  • شهر
    محلات

آخرین بازدید کنندگان نمایه

بلوک آخرین بازدید کننده ها غیر فعال شده است و به دیگر کاربران نشان داده نمیشود.

  1. بهنام صباغی

    خیلی هم ممنون از برخورد خوبتون چشم وقت کنم مثال میذارم ولی برام توی اولویت نیست خیلی درگیرم.
  2. بهنام صباغی

    سریع بهتون بر میخوره‌ها نه دیگه در مورد خود chaiscript مثال فرستادم ولی کاربردش رو که گفتم خدمتتون برای هرکس کاربردش جدا تعریف میشه کاری که ما کردیم برای کار خودمون بود و توی کد‌های شرکت هست با همین منطقی که گفتم و همین مثالی که فرستادم میشه کارهایی که میخواید رو پیاده کنید دیگه تعریف تابع و استفادش رو که مثالش رو فرستادم این که یک تابع save و load داشته باشی هم که سادست توی کار روی دیتا بقیشم که عملیاتی که میخوای رو تعریف میکنی حالا جمع یا ضرب یا تقسیم و ... در این مورد توضیحات روشنه نیاز به مثال نیست یا میتونم بگم حال مثال نوشتن ندارم بازم معذرت میخوام اگر شما یا دوستان رو ناراحت کردم.
  3. بهنام صباغی

    مثال رو که در پست اول فرستادم دقت نکردید ؟
  4. بهنام صباغی

    خیر توبع توی سی پلاس پلاس نوشته میشند و توی کد ریجستر میشند یعنی کد همون کد کامپایل شده سی پلاس پلاس هست ولی میتونید توی ران تایم صداشون کنید مثلا ما برای کار روی تصویر ازش استفاده کردیم میتونستیم تصاویر رو الگوریتم های مختلف روشون اعمال کنیم فرض کنید خروجی یه تابع تصویر بود و بعد میشد فیلتر های مختلف و عملیات مختلف رو که توابعشون رو ریجستر کرده بودیم رو روش اعمال کنیم و تابع Save هم داشتیم که تصویر رو بعد عملیات ذخیره می‌کردیم خوبیش این بود که برای کارهای دم دستی و ساده روی تصویر میتونست کاربر خودش کارهایی که میخواست رو روی تصویر انجام بده و بعد از رسیدن به یک کد نسبتا خوب این کد میومد توی سی پلاس پلاس میشد یک ابزار برای نرم‌افزار یعنی تیم علمی یه ابزار راحت داشت که سرعت سی پلاس پلاس رو داشت و میتونست کارهایی که میخواست رو انجام بده بدون این که توی کد سی پلاس پلاس دست ببره و سرعت سی پلاس پلاس رو هم داشت. باید کاربرد دقیق تعریف بشه تا بشه توی این پیادش کرد مثلا کار ما با تصویر بود میشد گرفت و ذخیرش کرد یا حتی تابع خوندن تصویر داشتیم توش. درکل توابع از قبل کامپایل شده و ریجستر شده رو میتونه ران کنه یعنی یه جورایی میتونید مفسر خودتون رو طوری که دوست دارید و کاربردتون هست تعریف کنید مثل کاری که ما کردیم.
  5. بهنام صباغی

    میتونند از http://chaiscript.com هم استفاده کنند که به شما اجاره میده توابع از پیش تعریف شده سی پلاس پلاس رو در ران تایم صدا بزنید اگر توابع پایه ای که لازم دارند رو اضافه کنند میتونند توی ران تایم کد بنویسند و اجرا کنند. به مثال خودش دقت کنید : #include <chaiscript/chaiscript.hpp> std::string helloWorld(const std::string &t_name) { return "Hello " + t_name + "!"; } int main() { chaiscript::ChaiScript chai; chai.add(chaiscript::fun(&helloWorld), "helloWorld"); chai.eval(R"( puts(helloWorld("Bob")); )"); } این چیزی رو که مد نظرتون هست پیاده میکنه ؟ @kambiz behnia
  6. بهنام صباغی

    سلام میتونید پراپرتی که نیاز داری رو توی پرنت ایجاد کنید چون ساختار درختی هست وقتی توی پرنت داشته باشید توی دو تا صفحه هم داریدشون. qt - Qml - passing property value between two components - Stack Overflow
  7. بهنام صباغی

    سلام اگر میخوای html رو نشون بدی بدش به وب ویو.
  8. بهنام صباغی

    خواهش میکنم. خدا رو شکر که حل شد ولی دنبال دلیل باشید و نگذارید بیش از این مشکل توی برنامه باقی بمونه یعنی دلیل چند بار امیت شدن رو متوجه بشید وگرنه جلوتر ممکنه مشکلات مشابهی پیش بیاد و ترکیب این مشکلات با هم غیر قابل حل باشه. توی یک پروژه تیم قبلی کلی تایمر توی لایه ویو استفاده کرده بود و کل کدها توی یه تایمر کلی بود و خلاصه خیلی بهم ریخته بود سر همین یه سیگنال روشن شدن دستگاه دوبار ارسال میشد برای این که همین مشکل ساده رو حل کنم نزدیک یک هفته ازم وقت گرفت تا انجامش بدم تازه مدام هم گوش به زنگ خطر بودم چون میدونستم اگر مشکل دیگه ای پیش بیاد هیچ تضمینی نیست بشه درستش کرد چون هر تایمر جدا داشت کار میکرد و روی یک قسمت از کد اثر میگذاشت و با توجه به این که کد کثیف بود نمیشد درست سر در آورد و چون زمان پروژه از ددلاین عبور کرده بود وقتی برای ریفکتور کردن کد نبود در صورتی که اگر از همون اول به این مشکلات ریز رسیدگی میکردند این مشکلات پیش نمیاومد. پیشنهاد من هم برای شما اینه که دقیق سر در بیارید چرا داره چند بار امیت میشه بعد اگر منطقی بود و راهی برای حلش نبود از همین روشی که فعلا استفاده کردید استفاده کنید. سوالی هم بود بپرسید در خدمتیم.
  9. بهنام صباغی

    توی تابع ست کردن متغیر سیگنال تغییرش رو فراخوانی کردید ؟ نحوه ارسالتون به کیو ام ال به چه شکل هست ؟ از طرفی اگر کدتون همینی هست که ارسال کردید خب چرا توی تعریف errpan مستقیم برابر با ui.acptCard قرار ندادید ؟ توی تابع setacptCard(true); چرا به این صورت نیست ؟ setAcptCard(true);در کل اگر درست تعریف کرده باشید و سیگنال تغییر رو هم توی تابع ست کردن فراخوانی کرده باشید نباید مشکلی باشه. شاید لازم باشه توی یک پروژه ساده این کار رو انجام بدید و ببینید کار میکنه یا نه اگر کار نکرد که مشخصه روند رو دارید اشتباه میرید و میتونید کمی بیشتر مطالعه کنید تا مشکل حل بشه اما اگر کار کرد و روند با روند توی کد خودتون یکی بود شاید لازم باشه کد اصلی رو دید.
  10. بهنام صباغی

    با سلام از این دست مشکلات زیاد پیش میاد در حدی که بعد مدتی بدون فکر کردن وقتی مشکل براتون پیش میاد خودکار یک سری کار انجام میدید تا حلش کنید. ولی این دست مشکلات در برخی مواقع لایه به لایه هستند مثلا یک کار کوچیک در حد qmake میتونه مشکل اضافه کردن فایل جدید رو حل بکنه اما بعضی وقتها که تغییرات توی پروژه زیاده نیاز هست اول clean کنید پروژه رو اما بعضی وقتا این روش هم جواب نمیده مخصوصا وقتی یک فایل ui که مال مدتها پیش هست رو تغییر میدی مثلا یک ویجت پرموت شده به یک کلاس دیگه بعد این پرموت رو تغییر میدید در برخی مواقع نه با clean کردن حل میشه نه به با کیو میک نه حتی با rebuild باید فایل ui که توسط کیوت برای فرم ساخته شده رو پاک کنید مثلا برای MainWindow یک فایل با اسم ui_MainWindow درست میکنه که باید اون رو پاک کنید. هرکدوم از این موارد مدتها وقت قبلا ازم گرفته تا رفع شدند ولی شما حواستون باشه به همچین مشکلاتی خوردید راه حل‌های اینطوری داره و نیاز هم نیست همه رو انجام بدید مرحله به مرحله انجام بدید تا جایی که مشکلتون حل بشه چون مثلا qmake توی پروژه بزرگ زمان خیلی کمتری نسبت به clean کردن و دوباره بیلد کردن میگیره. موفق باشید.
  11. بهنام صباغی

    با سلام کتابخانه‌های زیادی برای کار با فایل‌های فشرده وجود داره و داکیومنت هم دارند میتونید بینشون جستجو کنید ببینید کدوم راه حل مشکل شما رو داره من یه نگاهی کلی کردم یه چیزایی دارند. این مثال هم اوپن سورس هست میتونید ببینید با کیوت هم نوشته شده : GitHub - tsujan/Arqiver: Simple Qt archive manager based on libarchive,... همین کاری که میخواید رو کرده انگار اگر درست یه نگاهی به کدش بندازید حل میشه مشکلتون. موفق باشید.
  12. بهنام صباغی

    ننیدونم منظورتون از پلاگین دقیقا چی هست ولی برای این که برنامه کار بکنه باید پیشنیازهاش کنارش باشه مثل dll های کتابخانه های استفاده شده در برنامه یا مثلا فایل‌های مورد نیاز برای پلاگین‌ها و درایورهای مورد نیاز شما اگر چیزی اضافه کردید طبق مستنداتش عمل کنید تا مشکل برطرف بشه اگر هم مستنداتی ازش در دسترس نیست از مستندات کتابخانه‌های مشابه استفاده کنید.
  13. بهنام صباغی

    اگر طبق اون پست عمل کرده باشی پیش نیاز ها و dllهای کیوت کنار برنامه ریخته شده و نیاز هست که اگر از کتابخانه حانبی دیگه‌ای هم استفاده کردید dll و موارد مورد نیاز دیگش رو ‌برای برنامه فراهم کنید.
  14. بهنام صباغی

    سلام نیاز هست دیپلوی کنید توضیحات بیشتر توی لینک نصب و راه اندازی برنامه‌های تحت کیوت هست. موفق باشید.
  15. بهنام صباغی

    با سلام تابع خاصی برای این کار ندیدم ولی تیکه کد زیر کار میکنه براتون نوشتمش : QByteArray data = {"test values are good"}; qDebug() << data; int bufSize = 3; int dataSize = data.size(); dataSize = dataSize % bufSize ? dataSize / 3 + 1 : dataSize / 3; for (int i = 0; i < dataSize; ++i) { qDebug() << data.mid(i * bufSize, bufSize); }
×
×
  • جدید...