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

تمامی فعالیت ها

این جریان به طور خودکار بروزرسانی می شود     

  1. هفته گذشته
  2. بهنام صباغی

    سلام جیسان یک استاندارد برای ذخیره اطلاعات هست و چون ساختار تمیزی داره برای ای پی ای و جاهای دیگه هم کاربرد داره این که شما میفرمایید استفاده از json در برنامه نویسی ویجت یک مقداری نا مفهوم هست. برای هندل کردن و خواندن و در کل کار با جیسان توی کیوت کلاس هایی وجود داره که میتوانید از بخش JSON Support in Qt مشاهده کنید. اما اگر منظورتون از استفاده از جیسان در کیو ویجت برای طراحی رابط کاربری یا نمایش لیست و تیبل و ... هست که باز روند های خودش رو داره برای لیست و ... فکر میکنم باید تبدیل به مدل بکنید و برای طراحی داینامیک که مثلا طبق جیسان خودکار اپ تغییر حالت بده هم باید کاملا دستی هندل کنید مثلا باید در نظر بگیرید label برچسب هست و هر جیسان زیرین یه لایه جدید و نوع لایه هم توش هست مثلا همچین جیسانی رو دریافت کنید { "direction":"ltr", "label":"my dynamic Label" } یعنی فکر میکنم منطقی هست که یکبار بنویسید با توجه به جیسان ورودی چطور طراحی انجام بشه و بعد از اون فقط جیسان رو طراحی کنید و بفرستید برنامه خودکار شکل بگیره. موفق باشید
  3. سلام. در مورد کاربردها و نحوه ی استفاده از json در برنامه نویسی QWidget میخواستم اطلاعاتی بدست بیارم. از اساتید محترم درخواست میکنم اگر آموزشی در این مورد دارند به اشتراک بگذارند. با تشکر
  4. جدیدا
  5. کامبیز اسدزاده

    نسخه‌ی بتای 4.8 منتشر شد! پشتیبانی از ویژگی‌های عمومی از ویژگی‌های جدید این نسخه می‌توان به ویژگی پشتیبانی از LSP اشاره کرد که در این نسخه به صورت آزمایشی افزوده شده است. برای فعال سازی این ویژگی کافی است به مسیر Help > About Plugins (Qt Creator > About Plugins on macOS) بروید. ویژگی‌های مربوط به ++C در سمت سی‌پلاس‌پلاس ویژگی‌های جدیدی به صورت آزمایشی اضافه شده اند. ویژگی‌های جدید با پشتیبانی از Cppcheck و اشکال زدایی‌ بهتر. دیگر بهبود‌ها‌ی اساسی در نسخه‌ی مک‌او‌اِس پوسته‌ی محیط با ویژگی‌های جدید سیستم‌عامل macOS Mojave (10.14) سازگار شده است. در اندروید نیز مشکل اتصال به API 24 حل شده است. جزئیات و دیگر بهبود‌ها: Qt Creator version 4.8 contains bug fixes and new features. The most important changes are listed in this document. For a complete list of changes, see the Git log for the Qt Creator sources that you can check out from the public Git repository. For example: git clone git://code.qt.io/qt-creator/qt-creator.git git log --cherry-pick --pretty=oneline origin/4.7..v4.8.0 General * Added `HostOs:PathListSeparator` and `HostOs:ExecutableSuffix` Qt Creator variables * Added `Create Folder` to context menu of path choosers if the path does not exist * Fixed menu items shown in menu locator filter (QTCREATORBUG-20071, QTCREATORBUG-20626) Editing * Added experimental plugin `LanguageClient` for supporting the [language server protocol](https://microsoft.github.io/language-server-protocol) (QTCREATORBUG-20284) * Added support for the pastecode.xyz code pasting service * Made it possible to change default editors in MIME type settings All Projects * Added option for parallel jobs to `make` step, which is enabled by default if `MAKEFLAGS` are not set (QTCREATORBUG-18414) * Added auto-detection of the Clang compiler shipped with Qt Creator * Added option for disabling automatic creation of run configurations (QTCREATORBUG-18578) * Added option to open terminal with build or run environment to project tree and the corresponding configuration widgets in `Projects` mode (QTCREATORBUG-19692) * Improved handling of relative file paths for custom error parsers (QTCREATORBUG-20605) * Fixed that `make` step required C++ tool chain * Fixed that many very long lines in application or build output could lead to out of memory exception (QTCREATORBUG-18172) QMake Projects * Fixed that `make qmake_all` was run in top-level project directory even when building sub-project (QTCREATORBUG-20823) Qbs Projects * Added `qmlDesignerImportPaths` property for specifying QML import paths for Qt Quick Designer (QTCREATORBUG-20810) C++ Support * Added experimental plugin `CompilationDatabaseProjectManager` that opens a [compilation database](https://clang.llvm.org/docs/JSONCompilationDatabase.html) for code editing * Added experimental plugin `ClangFormat` that bases auto-indentation on Clang Format * Added experimental plugin `Cppcheck` for integration of [cppcheck](http://cppcheck.sourceforge.net) diagnostics * Added highlighting style for punctuation tokens (QTCREATORBUG-20666) * Clang Code Model * Added `Follow Symbol` for `auto` keyword (QTCREATORBUG-17191) * Added function overloads to tooltip in completion popup * Added `Build` > `Generate Compilation Database` * Fixed that braced initialization did not provide constructor completion (QTCREATORBUG-20957) * Fixed local references for operator arguments (QTCREATORBUG-20966) QML Support * Fixed indentation in object literals with ternary operator (QTCREATORBUG-7103) * Fixed that symbols from closed projects were still shown in Locator (QTCREATORBUG-13459) Debugging * Added support for multiple simultaneous debugger runs * Fixed automatic detection of debugging information for Qt from binary installer (QTCREATORBUG-20693) * GDB * Fixed startup issue with localized debugger output (QTCREATORBUG-20765) * Fixed disassembler view for newer GCC * CDB * Added option to suppress task entries for exceptions (QTCREATORBUG-20915) * LLDB * Fixed instruction-wise stepping Qt Quick Designer * Fixed wrong property propagation from parent to child Version Control Systems * Git * Added navigation pane that shows branches * Added option for copy/move detection to `git blame` (QTCREATORBUG-20462) * Improved behavior if no merge tool is configured * Fixed that `git pull` blocked Qt Creator (QTCREATORBUG-13279) * Fixed handling of `file://` remotes (QTCREATORBUG-20618) * Fixed search for `gitk` executable (QTCREATORBUG-1577) Test Integration * Google Test * Fixed that not all failure locations were shown (QTCREATORBUG-20967) * Fixed that `GTEST_*` environment variables could break test execution and output parsing (QTCREATORBUG-21012) Model Editor * Fixed that selections and text cursors where exported (QTCREATORBUG-16689) Platform Specific Linux * Added detection of Intel C compiler (QTCREATORBUG-18302) * Fixed `Open Terminal Here` for `konsole` (QTCREATORBUG-20900) macOS * Fixed light themes for macOS Mojave (10.14) Android * Added support for command line arguments * Added support for environment variables * Fixed connecting to debugger for API level 24 and later برای دریافت این نسخه کلیک کنید.
  6. کامبیز اسدزاده

    همانطور که می‌دانید محیط توسعه‌ی یکپارچه‌ی نرم‌افزار Visual Studio به عنوان یکی از جامع‌ترین محیط‌های توسعه بسیار شناخته شده است. برنامه‌نویسان سی‌پلاس‌پلاس بسیاری از پروژه‌های خود را تحت این محیط علاوه بر آن کیوت کریتور توسعه می‌دهند. کتابخانه‌ی کیوت افزونه‌ای را برای یکپارچه سازی خود با محیط ویژوال استودیو ارائه داده است که در حالت عادی از کتابخانه‌ی Qt به خوبی پشتیبانی می‌کند و اجازه می‌دهد تا شما کُد‌های خود را که بر اساس کتابخانه‌ی کیوت هستند در محیط ویژوال استودیو توسعه و خروجی بگیرید. اما محدودیت‌هایی در این افزونه تا به امروز وجود دارد، یکی از آن‌ها عدم هماهنگی و پشتیبانی از زبان QML بر پایه جاوا اسکریپت است. در نسخه‌ی بعدی کیوت یعنی 5.12.0 افزونه‌ی Qt Visual Studio Tools, v2.3.0 نیز منتشر خواهد شد که با نسخه‌های جدید ویژوال استودیو هماهنگ و به شما امکان اینم را خواهد داد تا بتوانید کد‌های نوشته شده توسط QML و JavaScript را اشکال‌زدایی کنید. این امکان وجود خواهد داشت تا شما هر جایی که نقطه‌ی توقف برای اشکال زدایی ایجاد کرده اید را مورد تجزیه تحلیل قرار خواهید داد. از جمله، تغییر تحولات در ارزش‌های متغیر‌ها و دیگر موارد. نسخه‌ی جدید این افزونه به طور کامل با زیرساخت اشکال زدایی QML یکپارچه سازی شده است. که به عنوان بخشی از ماژول Qt QML خدماتی برای اشکال زدایی، بررسی و ثبت و ظبط برنامه را از طریق یک پور TCP فراهم می‌کند. به صورت پیش‌فرض ویژگی اشکال زدایی در QML برای ویژوال استودیو فعال است. شما می‌توانید آن را در بخش تنظیمات افزونه ویژوال استودیو برای Qt غیرفعال کنید. این ابزار را به زودی در بخش دریافت فایل‌ها می‌توانید همزمان با نسخه‌ی ۵.۱۲.۰ کیوت دریافت نمایید.
  7. سید معین حسینی

    Bootstrapping خود راه‌اندازی (bootstrapping) و منطق پلتفرم (platform) را در فایل main.ts قرار دهید. کنترل ارور (error handling) را هم شامل منطق خود راه‌اندازی قرار دهید. از قرار دادن منطق برنامه در main.ts دوری کنید. در عوض در نظر داشته باشید که آن‌ها را در کامپوننت یا سرویس قرار دهید. ‌‌چرا؟ یک قرارداد ثابت را برای منطق شروع یک برنامه دنبال می‌کند. چرا؟ یک قرارداد آشنا از پلتفرم های تکنولوژی دیگر را دنبال می‌کند. انتخاب‌گر کامپوننت ها (selector) برای نام‌گذاری انتخاب‌گرهای کامپوننت‌ها از روش نام‌گذاری کبابی (kebab-case) استفاده کنید. چرا؟ نام عناصر را با مشخصات عناصر سفارشی ثابت نگه می‌دارد.
  8. بهنام صباغی

    سلام این میاد این رویداد رو میگیره و اگر event.accepted را برابر true قرار دهیم به این معنی است که این رویداد را پذیرفته ایم و دیگر کسی مسئولیتی برای اجرای آن ندارد و بنابر این هر کدی که اجرا کنیم کدی است که به ازای فشرده شدن کلید بازگشت فراخوانی می‌شود: Rectangle { focus: true // important - otherwise we'll get no key events Keys.onReleased: { if (event.key == Qt.Key_Back) { console.log("Back button captured - wunderbar !") event.accepted = true } } } موفق باشید.
  9. amirb

    با سلام و عرض ادب. چطور میشه توی Qt Quick و برای پلتفرم اندروید یک slot یا چیزی شبیه این تعریف کرد که مثلا وقتی دکمه back این پلتفرم زده شد فلان اتفاق رخ بده. با تشکر
  10. کامبیز اسدزاده

    شما در محیط لینوکس، وقتی کیوت رو نصب می‌کنید برای استفاده از اون مخصوصاً ساخت (کامپایل، بیلد) و اجرای برنامه نیاز به یک سری ابزار‌ها و کتابخانه‌های پیش‌نیاز دارید که با دستورات زیر باید پکیج‌های مربوط به اون رو نصب کنید. sudo apt-get install build-essential sudo apt-get install mesa-common-dev حالا شما دستور منسوخ شده رو اجرا کردین که ظاهراً مشکلتون حل شده، دلیلش هم احتمالاً دو ابزار qt4-qmake (= 4:4.8.7+dfsg-17) و qt4-dev-tools در پکیج هستش که نسخه‌های به‌روز تر و بهترش در پکیج build-essential موجود هست.
  11. سید معین حسینی

    مشخص نیست چطور مشکلم حل شد اما به طور کلی اول libqt4-dev رو با دستور زیر نصب کردم: sudo apt install libqt4-dev بعد یک پروژه ساختم که سیستم بیلدش CMake بود و یک بار برنامه ساده رو اجرا کردم و بدون مشکل اجرا شد. وقتی دوباره یک پروژه با سیستم بیلد قبلی یعنی معادل پروژه اول ساختم برنامه بدون مشکل اجرا شد! کنجکاوم بدونم این مشکل به چه دلیل به وجود آمده بود؟ اگر کسی اطلاعاتی داشت ممنون میشم در اختیارم قرار بده.
  12. درود خدمت اساتید بزرگوار، من آخرین نسخه کیوت (5.11.2) رو دانلود و نصب کردم ولی یک برنامه خیلی ساده در کنسول ارور دیپندنسی داره! :-1: error: Circular all <- first dependency dropped. جستجوهای بنده هم اکثرا ختم می‌شه به ویرایش فایل make. انتظار می‌ره بعد از ساخت یک پروژه ساده کاملا بدون مشکل اجرا بشه! چیزی نیاز به کانفیگ داره؟ محیط لینوکس هستم!
  13. کامبیز اسدزاده

    نسخه‌ی ۴.۷.۱ کیوت کریتور انتتشار یافت. Qt Creator version 4.7.1 contains bug fixes. The most important changes are listed in this document. For a complete list of changes, see the Git log for the Qt Creator sources that you can check out from the public Git repository. For example: git clone git://code.qt.io/qt-creator/qt-creator.git git log --cherry-pick --pretty=oneline origin/v4.7.0..v4.7.1 Editing * Fixed that generic highlighting could use unreadable colors (QTCREATORBUG-20919) All Projects * Fixed jumping text cursor when editing custom executable path Qbs Projects * Fixed C++ version passed to code model (QTCREATORBUG-20909) C++ Support * Clang Code Model * Fixed include order for Clang headers Debugging * Fixed remote debugging command line argument (QTCREATORBUG-20928) * GDB * Fixed GDB built-in pretty printer handling (QTCREATORBUG-20770) * CDB * Fixed pretty printing of enums * QML * Fixed re-enabling breakpoints (QTCREATORBUG-20795) * Fixed `Attach to QML Port` (QTCREATORBUG-20168) Platform Specific Windows * Improved resource consumption of MSVC detection, which prompted some Anti-Virus software to block Qt Creator (QTCREATORBUG-20829) * Fixed that Qt Creator forced use of ANGLE on user applications (QTCREATORBUG-20808) * Fixed MSVC toolchain detection for Windows SKD 7 (QTCREATORBUG-18328) برای دریافت از این بخش اقدام کنید.
  14. کامبیز اسدزاده

    سلام، برخی از دوستان در گروه‌ برنامه‌نویسی در رابطه با نحوه‌ی بررسی وضعیت اینترنت و شبکه سوال پرسیده بودن که چطور میشه در سی++ تحت کیوت مخصوصاً همراه QML وضعیت آنلاین بودن رو در زمان واقعی بررسی کرد. من نمونه مثالی آماده کردم که در وضعیت زمان واقعی (Real-Time) هر چند ثانیه یک بار نسبت به وضعیت اینترنت واکنش نشون میده. برای دریافت این نمونه مثال از مخزن مربوطه استفاده کنید.
  15. کامبیز اسدزاده

    چرا از نوع Image در QML استفاده نمی‌کنید؟ در این صورت فقط نیاز دارین آدرس تصاویر رو بهش انتقال بدین. مثال: Image { source: "pic/avatar.png" }
  16. سعید معصومی

    سلام ممنون از مطلب مفیدتون من نیاز دارم که بتونم یک Qimage رو از داخل cpp به سمت qml بفرستم و نمایش بدم امکانش هست یک مثال خیلی ساده در این مورد درون سایت قرار بدین؟
  17. کامبیز اسدزاده

    کیوت کریتور ۴.۸ بتای اول منتشر شد. تغییرات در این نسخه شامل موارد زیر می‌باشند. Qt Creator version 4.8 contains bug fixes and new features. The most important changes are listed in this document. For a complete list of changes, see the Git log for the Qt Creator sources that you can check out from the public Git repository. For example: git clone git://code.qt.io/qt-creator/qt-creator.git git log --cherry-pick --pretty=oneline origin/4.7..v4.8.0 General * Added `HostOs:PathListSeparator` and `HostOs:ExecutableSuffix` Qt Creator variables * Added `Create Folder` to context menu of path choosers if the path does not exist * Fixed menu items shown in menu locator filter (QTCREATORBUG-20071, QTCREATORBUG-20626) Editing * Made it possible to change default editors in MIME type settings Help All Projects * Added option for parallel jobs to `make` step, which is enabled by default if `MAKEFLAGS` are not set (QTCREATORBUG-18414) * Added auto-detection of the Clang compiler shipped with Qt Creator * Improved handling of relative file paths for custom error parsers (QTCREATORBUG-20605) * Fixed that `make` step required C++ tool chain QMake Projects * Fixed that `make qmake_all` was run in top-level project directory even when building sub-project (QTCREATORBUG-20823) C++ Support * Clang Code Model * Added function overloads to tooltip in completion popup * Added `Build` > `Generate Compilation Database` * Fixed that braced initialization did not provide constructor completion (QTCREATORBUG-20957) * Fixed local references for operator arguments (QTCREATORBUG-20966) QML Support * Fixed indentation in object literals with ternary operator (QTCREATORBUG-7103) * Fixed that symbols from closed projects were still shown in Locator (QTCREATORBUG-13459) Python Support Debugging * GDB * Fixed startup issue with localized debugger output (QTCREATORBUG-20765) * Fixed disassembler view for newer GCC * CDB * Added option to suppress task entries for exceptions (QTCREATORBUG-20915) * LLDB * Fixed instruction-wise stepping Clang Static Analyzer QML Profiler Version Control Systems * Git * Improved behavior if no merge tool is configured * Fixed handling of `file://` remotes (QTCREATORBUG-20618) Image Viewer Test Integration * Google Test * Fixed that not all failure locations were shown (QTCREATORBUG-20967) Model Editor * Fixed that selections and text cursors where exported (QTCREATORBUG-16689) Platform Specific Windows Linux * Added detection of Intel C compiler (QTCREATORBUG-18302) macOS * Fixed light themes for macOS Mojave (10.14) Android * Added support for command line arguments * Added support for environment variables * Fixed connecting to debugger for API level 24 and later
  18. amirb

    با توجه به توضیحات این صفحه: آشنایی با خرید درون‌برنامه‌ای مایکت - Myket - Myket KB برای مایکت هم باید همین جور باشه.
  19. amirb

    با تسلیت ایام شهادت سرور و سالار شهیدان آقا ابا عبدالله الحسین علیه السلام. فکر کنم فهمیدم چیکار باید کرد.با توجه به توضیحات این صفحه: http://developers.cafebazaar.ir/fa/docs/iab/implementation/#iab-class و بررسی کد فایل QtInAppPurchase.java در پکیج QtPurchasing.jar در مسیر Qt/5.11.0/android_armv7/jar فکر کنم بشه با تغییر دو خط زیر در فایل QtInAppPurchase.java: Intent localIntent = new Intent("com.android.vending.billing.InAppBillingService.BIND"); localIntent.setPackage("com.android.vending"); و تغییر اون به این شکل: Intent localIntent = new Intent("ir.cafebazaar.pardakht.InAppBillingService.BIND"); localIntent.setPackage("com.farsitel.bazaar"); و هم چنین با تغییر کد AndroidManifest.xml و اضافه کردن کد زیر: <uses-permission android:name="com.farsitel.bazaar.permission.PAY_THROUGH_BAZAAR" /> برای کافه بازار پیاده سازی کرد. البته هنوز امتحان نکردم و نمی دونم همه ی امکانات کافه بازار رو پشتیبانی می کنه یا نه. اگه کسی امتحان کرد نتیجه رو اعلام کنه.
  20. کامبیز اسدزاده

    اگر برای این دو استور تاکید دارین، باید برای این کار هم مشابه پیشنهاد دوم تحت api‌ هایی که ارائه دادن سمت جاوا پیاده کنید و با سی++ برای کیو ام ال هندلش کنید.
  21. amirb

    نه منظور من خرید های درون برنامه ای از قبیل زیر است: آشنایی با خرید درون‌برنامه‌ای مایکت - Myket - Myket KB پرداخت درون‌برنامه‌ای بازار
  22. کامبیز اسدزاده

    سلام، برای کیوت دو روش وجود داره. استفاده از ماژول اختصاصی این کار (Qt Purchasing) و سفارشی سازی و هماهنگ سازی اون با درگاه‌های داخلی پیاده سازی یک ماژول اختصاصی برای درگاه‌های بانکی و هماهنگ سازی اون سمت سرور (درگاه بانکی سمت وب) با کلاینت نکته: من روش دوم رو پیشنهاد می‌کنم که به طور کامل از سمت سرور با Php پیاده سازی بشه و سمت کلاینت با ++C و JavaScript هماهنگ بشه. این کار نیاز داره که صفحه‌ی پرداخت بانکی در مرورگر وب باز بشه و اطلاعاتش رد و بدل بشه. حتی می‌تونید از ماژول وب خود کیوت هم برای راحتی بیشتر استفاده کنید.
  23. amirb

    با سلام و عرض ادب. چطور میشه توی Qt Quick پرداخت درون برنامه ای کافه بازار و مایکت رو پیاده سازی کرد؟(هیچکدام api برای کیوت ندارند ولی مایکت برای cordova داره اما نمی دونم فایل js اون با کیوت سازگار هست یا خیر)
  24. فانوس

    حل شد. InputPanel{ id:inputpanel visible:active y:active?parent.height - inputpanel.height : parent.height anchors.left: parent.left anchors.right: parent.right } TextInput{ id:input inputMethodHints: Qt.ImhDigitsOnly focus: Qt.inputMethod.visible; text: "123211" } TextInput{ id:input2 anchors.top:input.bottom inputMethodHints: Qt.ImhLowercaseOnly focus: Qt.inputMethod.visible; text: "123211" }
  25. سید معین حسینی

    نام سرویس‌ها برای تمام سرویس‌ها، پس از نام مزیت آن‌ها از نام‌های ثابتی استفاده کنید. برای نام کلاس سرویس‌ها از پسوند Service استفاده کنید. برای مثال چیزی که داده‌ها و یا نام قهرمانان را می‌گیرد، باید DataService یا HeroService نام‌گذاری شود. بعضی عبارت‌ها به شکل مشخصی سرویس هستند و معمولا ماموریت خود را با تمام شدن با "er" نشان می‌دهند. شما ممکن است ترجیح بدهید سرویسی را که پیام‌‌ها را گزارش می‌کند را Logger بنامید تا این که آن را LoggerService نام‌گذاری کنید. تصمیم بگیرید که آیا این استثنا در پروژه شما مورد قبول است یا خیر. چرا؟ راهی ثابت را برای شناسایی و مراجعه سریع به سرویس‌ها ارائه می‌کند. چرا؟ نام‌های مشخص مثل Logger به پسوند نیازی ندارند. چرا؟ نام سرویس‌هایی مثل Credit، اسم هستند و نیاز به پسوند دارند و وقتی باید پسوند بگیرند که مشخص نیست آیا یک سرویس است یا چیز دیگری. مثال نام فایل نام نماد hero-data.service.ts @Injectable() export class HeroDataService { } credit.service.ts @Injectable() export class CreditService { } logger.service.ts @Injectable() export class Logger { }
  26. فانوس

    سلام. طبق جست و جویی که کردم با اضاف کردن این لینک به .pro static { QT += svg QTPLUGIN += qtvirtualkeyboardplugin } و این کد به فایل int main(int argc, char *argv[]) { qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard")); QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QGuiApplication app(argc, argv); QQmlApplicationEngine engine; engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); if (engine.rootObjects().isEmpty()) return -1; return app.exec(); } در فایل اصلی هم این کد را نوشتم اما کار نمیکنه وقتی روی تکسم کلیل میکنم. البته روی دیوایس لمسی import QtQuick 2.9 import QtQuick.Window 2.2 import QtQuick.VirtualKeyboard 2.1 Window { visible: true width: 640 height: 480 TextInput { id: textInput; text:"ssssss" height: 120; width: parent.width - 2; anchors.bottom: keyboard.top color: "#000000"; // black // http://doc.qt.io/qt-5/qinputmethod.html# properties focus: Qt.inputMethod.visible; verticalAlignment: TextInput.AlignVCenter; } }
  27. بهنام صباغی

    با توجه به تحریم‌ها و سیاست‌های ضد ایرانی گوگل به نظرم بهتره حالا که داریم زمان میذاریم توسعه نقشه رو بر پایه API پارسیجو پیش ببریم یا حداقل طوری باشه که با پارسیجو هم سازگار باشه . پارسیجو یک شرکت ایرانی هست که با موتور جستجو کارش رو شروع کرد ولی خیلی فعال و با کیفیت پیش رفت . الان هم یک API تمیز برای نقشه ارائه داده که با نگاهی که من انداختم ارزش وقت گذاشتن داره. مورد دیگه ای که به نظرم نیاز هست نمودار در کیوت هست من این مدت داشتم روی نمودار توی کیو ام ال و ویجت وقت میگذاشتم متوجه شدم در حال حاضر نمودارها در کیوت بر پایه Graphics View Framework که طبق مطالعاتی که روش داشتم اصلا به درد نمیخوره علیرقم این که بسیار پر استفاده هست در صورتی که میخواید بیشتر بدونید میتونید جستجو کنید و ویدئو QtWS16- The Curse of Choice: An Overview of GUI technologies in Qt, Andy Nichols, The Qt Company هم لپ مطلب رو توضیح میده. تازه وضعیت توی کیو ام ال حتی بدتر از وضعیت توی QGraphicsView خود سی پلاس پلاس هست چون توی سی پلاس پلاس به QGraphicsScene دسترسی داریم برای اضافه کردن موارد گرافیکی دیگه ولی توی کیو ام ال به اون هم دسترسی نداریم و مثلا برای کشیدن یک مستطیل برای انتخاب کردن یک قسمت از چارت باید کلی دردسر بکشیم. در کل به نظرم نیاز هست با QQuickItem و بر پایه Scene Graph زده بشه که البته این مورد رو مدتی هست شروع کردم ولی به دلیل مشغله زیاد وقت نکردم تمومش کنم و فعلا برای کشیدن نمودارهای خطی استفاده داره که البته هنوز Axis رو هم نشون ندادم روش و دنبال روشی بودم که بشه از تو سی پلاس پلاس و بدون نیاز به کیو ام ال تکست رو هم رندر کنم ولی انگار چاره ای نیست فعلا و باید به صورت داینامیک متن از سی پلاس پلاس توی یکو ام ال درست کنم و موقعیتشون رو تنظیم کنم که البته روش کثیفی به نظر میرسه. در کل این لینک پروژه چارت بر پایه QQuickItem هست که تصمیم دارم تکمیلش کنم و علاوه بر اون میخوام نقشه بر پایه QQuickItem رو هم شروع کنم که البته اون رو بخش تحقیقش رو انجام دادم و در صورتی که زمان داشته باشم میشینم پاش و هیچ چالشی برای انجامش ندارم البته ممکنه سر همین رندر کردن متن توی پاپ آپ به همین مشکل بخورم توش که اون مشکل خاصی نیست میشه به همین روش داینامیک انجامش داد . پس پیشنهادات من این دو مورد هست : افزودن نقشه پارسیجو توسعه نمودارها بر پایه QQuickItem و Scene Graph و این هم لینک پروژه نمودار که البته تازه شروعش کردم ولی خوشحال میشم دوستان همکار کنند و نگاهی بهش بندازند .
  1. نمایش فعالیت های بیشتر
×