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

پست های پیشنهاد شده

سلام، من دارم پروژه جدید می‌سازم با QML. سوالم اینه که می‌خوام کاربر با زدن دکمه منو صفحه درج کاربر براش باز شه.

  1. صفحه درج کاربر باید از چه جنسی باشه؟(Qt Quick 2 or QML UI File) در نظر داشته باشید که همگی دارای کد نویسی c++ هستند
  2. چجوری با زدن دکمه این صفحه را باز کنم؟ من با ویجت کار کردم اما QML برای بار اولم هست. دیدم که فایل cpp  و .h را باید بسازیم . با ماکروی Q_PROPERRTY مقدار میدید . بعد هم تو فایل QML باید import کنیم. اما خوب چجوری با زدن دکمه بالا بیاد و بسته بشه؟؟؟

طبق چیزی که اینجا نوشته

Qt Quick UI Forms

از این ویژگی ها پشتیبانی نمی شود

  • JavaScript blocks
  • Function definitions
  • Function calls (except qsTr)
  • Other bindings than pure expressions
  • Signal handlers
  • States in other items than the root item
  • Root items that are not derived from QQuickItem or Item

و از این نوع مدل ها هم پشتیبانی نمی کند

  • Behavior
  • Binding
  • Canvas
  • Component
  • Shader Effect
  • Timer
  • Transform
  • Transition

پس یعنی باید از کوییک 2 استفاده کرد فقط ؟ اما دیدم کوییک 2 را کامپوننت میکنند تو مثال ها.

الان می گیج شدم . برای ساخت صفحات برنامم باید از چی استفاده کنم؟

و در آخر کسی پروژه چند صفحه ای دیتابیسی QML نمیشناسه که من بیشتر ازش یاد بگیرم. پروژه دمو یا سمپل

ممنون

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در ۱ ساعت قبل، فانوس گفته است :

سلام، من دارم پروژه جدید می‌سازم با QML. سوالم اینه که می‌خوام کاربر با زدن دکمه منو صفحه درج کاربر براش باز شه.

  1. صفحه درج کاربر باید از چه جنسی باشه؟(Qt Quick 2 or QML UI File) در نظر داشته باشید که همگی دارای کد نویسی c++ هستند
  2. چجوری با زدن دکمه این صفحه را باز کنم؟ من با ویجت کار کردم اما QML برای بار اولم هست. دیدم که فایل cpp  و .h را باید بسازیم . با ماکروی Q_PROPERRTY مقدار میدید . بعد هم تو فایل QML باید import کنیم. اما خوب چجوری با زدن دکمه بالا بیاد و بسته بشه؟؟؟

طبق چیزی که اینجا نوشته

Qt Quick UI Forms

از این ویژگی ها پشتیبانی نمی شود

  • JavaScript blocks
  • Function definitions
  • Function calls (except qsTr)
  • Other bindings than pure expressions
  • Signal handlers
  • States in other items than the root item
  • Root items that are not derived from QQuickItem or Item

و از این نوع مدل ها هم پشتیبانی نمی کند

  • Behavior
  • Binding
  • Canvas
  • Component
  • Shader Effect
  • Timer
  • Transform
  • Transition

پس یعنی باید از کوییک 2 استفاده کرد فقط ؟ اما دیدم کوییک 2 را کامپوننت میکنند تو مثال ها.

الان می گیج شدم . برای ساخت صفحات برنامم باید از چی استفاده کنم؟

و در آخر کسی پروژه چند صفحه ای دیتابیسی QML نمیشناسه که من بیشتر ازش یاد بگیرم. پروژه دمو یا سمپل

ممنون

پاسخ سوال اول شما، برای پیاده سازی صفحات رابط کاربری از کیوت کوئیک استفاده کنید. نوع UI فقط برای نمایش محتوا هست و طبق تحقیق خودتون هم که مستند کردین خیلی از ویژگی‌ها رو پشتیبانی نمی‌کنه. در کل گزینه‌ی زیاد جالبی نیست ماهم در پروژه‌هامون ازش استفاده نمی‌کنیم چون نمیشه سفارشی سازی کرد و بیشتر به درد طراحی ویزارد می‌خوره.

پاسخ سوال دوم، از انواع Loader استفاده کنید یا اگه می‌خواین که با عمل کلیک شدن فرمی رو نمایش بدین می‌تونید با تابع createComponent شیء رو بسازید و نمایش بدین.

پاسخ سوال آخر شما، مثال‌هایی که در همین سایت زده شده رو بررسی کنید. هرچند دیتابیسی نیستند اما در رابطه با نحوه‌ی ارتباطات و پیاده سازی انواع فرم‌ها و ارتباطش با سی++ مثال زده شده.

موفق باشید.

  • پسندیدن 1

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

با سلام

در مورد دیتابیس باید خدمتتون عرض کنم بهتر هست کلاس کار با دیتابیس رو توی سی پلاس پلاس بنویسید و به صورت ماژول ازش استفاده کنید.

الان مثالی نزدیک دستم نیست ولی کلیت به این صورت هست که شما یک کلاس برای کار با دیتابیس میسازید و توی کیو ام ل با اون کار می‌کنید.

برای مثلا کلاس DatanaseManager رو می‌نویسید که تابع AddUser داره و ورودی فیلدهای ساختار داده کاربر رو می‌گیره و توی سی پلاس پلاس شما توی این تابع دیتابیس رو باز می‌کنید و اطلاعات ورودی رو ذخیره می‌کنید . بعد این کلاس DatanaseManager رو که از QObject به ارث برده توی کیو ام ال استفاده می‌کنید البته باید این رو بگم که دو روش برای استفاده هست که یک روش ریجستر کردن کلاس هست و اینطوری باید توی کیو ام ال ایمپورت بشه و ازش شی ساخته بشه و ... که این رو خیلی برای دیتابیس پیشنهاد نمی‌کنم چون اگر مثلا دیتابیستون اس کیو لایت باشه ممکنه چندین کانکشن به یک شی به وجود بیاد در لحظه و مشکلساز بشه و ایمپورت کردن و نمونه ساختن از دیتابیس توی هر فایل کیو ام ال هم اصلا جالب به نظر نمیاد.

بهتره یک شی توی سی پلاس پلاس از کلاس دیتابیس درست کنید و اون رو با QQmlContext بفرستی به کیو ام ال و اینطوری توی تمام قسمت‌های QML در دسترس هست.

اینم یه مثال خیلی کوچیک از فرستادن با QQmlContext

در مورد باز شدن هم که جناب اسدزاده توضیح دادند یک روش ساخت آبجکت داینامیک هست با createComponent و روش دیگه هم همین هست که همه رو توی کامپوننت بنویسی و در زمان نیاز سورس لودرت رو ست کنی.

  • پسندیدن 1

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری

  • کاربران آنلاین در این صفحه   0 کاربر

    هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.

  • مطالب مشابه

    • توسط کامبیز اسدزاده
      کیوت (به انگلیسی: Qt) مجموعه‌ای از کتابخانه‌ها و سرآیندهای نوشته‌شده به زبان سی++ است که به برنامه‌نویس امکان توسعه آسان نرم‌افزارهای کاربردی را می‌دهد. کیوت شامل چندین کلاس برای کار با واسط گرافیکی، چندرسانه، ابزارهای پایگاه‌داده، شبکه و … است. نرم‌افزارهای نوشته شده با ابزار کیوت قادرند تا با استفاده از یک کامپایلر زبان سی‌پلاس‌پلاس برای طیف وسیعی از سیستم‌عامل‌ها از جمله گنو/لینوکس (نسخه‌های رومیزی و وسیله‌های قابل حمل)، ویندوز، ویندوز CE، مک‌اواس و … همگردانی شوند. بدین ترتیب حمل نرم‌افزار نوشته شده بدون تغییر در متن کد نوشته شده امکان‌پذیر است. از کیوت در زبان‌های برنامه‌نویسی متعددی مانند سی++ و جاوا و پایتون می‌توان استفاده‌کرد.
       
      جهت مشاهده‌ی مباحث مرتبط با این کتابخانه به این بخش مراجعه کنید.
    • توسط کامبیز اسدزاده
      سلام،
      برخی از دوستان در گروه‌ برنامه‌نویسی در رابطه با نحوه‌ی بررسی وضعیت اینترنت و شبکه سوال پرسیده بودن که چطور میشه در سی++ تحت کیوت مخصوصاً همراه QML وضعیت آنلاین بودن رو در زمان واقعی بررسی کرد.



      من نمونه مثالی آماده کردم که در وضعیت زمان واقعی (Real-Time) هر چند ثانیه یک بار نسبت به وضعیت اینترنت واکنش نشون میده. برای دریافت این نمونه مثال از مخزن مربوطه استفاده کنید.
       
    • توسط کامبیز اسدزاده
      هدف از این آموزش ها آشنایی با امکاناتی که در Qt میتوان استفاده کرد می‌باشد، که شامل کد نویسی کمتر، خروجی و طرح های بیشتر و در نهایت استفاده در پلتفرم های مورد مختلف است. لذا جهت بهره مندی از این کتابخانه ما با در نظر گرفتن اینکه علاقه مندان با زبان ++C آشنایی لازم را دارند منتشر کرده ایم. بنابراین در صورتی که علاقه مندان اطلاعات کافی در رابطه با خود زبان ندارند پیشنهاد میکنیم ابتدا اقدام به تهیه و مطالعه آموزش های لازم در ++C نمایند که برخی از لینک های رسمی و استاندارد آن را در زیر اعلام نموده ایم.
      عنوان این آموزش "برنامه نویسی ++C همراه با کتابخانه های Qt 5.7.x  (سطح مقدماتی ویرایش ۳) می‌باشد که به صورت زیر فهرست بندی شده است:
      فصل اول مقدمه کتابخانه Qt  قابلیت ها در طراحی    فناوری Qt Quick و QML    نسخه های کیوت    مجوز های موجود در این کتابخانه    محیط های توسعه کیوت    ویژگی های کیوت    پشتیبانی از انواع سیستم عامل ها    نصب و پیکربندی Qt    فصل دوم انواه پروژه و ایجاد آن    انواع پروژه ها    ایجاد پروژه    فصل سوم ساده ترین برنامه    معرفی و کار با Signal و Slot ها و Event ها    معرفی و کار با نمایش Windows    معرفی و کار با لایه ها زبانه ها و بدنه های در طراحی    معرفی و کار با قابلیت های HTML و CSS در طراحی    فصل چهارم معرفی و کار با لایه های افقی و عمودی    معرفی و کار با لایه های Grid در طراحی فرم    معرفی و کار با جدا کننده ها Splitter  فصل پنجم معرفی و کار با دایرکتوری ها    معرفی و کار با فایل ها / خواندن و نوشتن در آن ها    فصل ششم معرفی و کار با برچسب ها Label    معرفی و کار با دکمه ها Button    معرفی و کار با کنترل ورودی LineEdit    معرفی و کار با چک باکس CheckBox    معرفی و کار با RadioButton    معرفی و کار با Combobox    معرفی و کار با لیست ها / ListWidget    معرفی و کار با لیست های درختی / TreeWidget    معرفی و کار با Action ها    معرفی و کار با Slider و Progress ها    معرفی و کار با Statusbar در فرم    فصل هفتم معرفی و کار با MessageBox    معرفی و کار با Timer    معرفی و کار با Thread ها    فصل هشتم معرفی و کار با Map    معرفی و کار با Hash    معرفی و کار با QStringList لیست رشته ای    فصل نهم معرفی و کار با الگوریتم های     معرفی و کار شبکه / دانلود فایل بر اساس پروتکل های HTTP و FTP    معرفی و کار با باینری و سریالیز کردن آبجکت ها    معرفی و کار با TextStream ها    فصل دهم مقایسه انواع حالت های کامپایل در Qt    نحوه افزودن دیگر کتابخانه های C++‎‎ در محیط Qt Creator و استفاده همراه با کتابخانه Qt    نحوه خروجی گرفتن / گسترش (Deployment) در Qt     مقایسه و پیکربندی دو موتور قدرتمند OpenGL و ANGLE در پروژه    مقایسه حجمی بین پروژه های ساخته تحت کتابخانه های Qt در ++C و .NET Framewok در #C    درایور دیتابیس هایی که تحت این کتابخانه پشتیبانی می‌شوند    حق نشر کتاب و اهداف در نسخه ی بعدی کتاب    توجه : در داشتن هر گونه انتقاد و پیشنهاد در رابطه با این کتاب با آدرس شخصی نویسنده (kambiz.ceo@gmail.com) مکاتبه نمایید. نکته : این کتاب در روز‌های خاص ممکن است شامل تخفیف قرار بگیرد. نکته دوم : کسانی که این کتاب را یک بار خریداری می‌کنند نسخه‌ی به روز رسانی شده آن را به صورت رایگان می‌توانند دریافت کنند.
    • توسط کامبیز اسدزاده
      سلام و درود با طعم کیوت 🤗
      همانطور که می‌دانید توسعه نرم‌افزار‌ها و اپلیکیشن‌های کاربردی در هر پلتفرمی نیازمند ابزار‌ها و کنترل‌های مهمی هستند که این امر موجب سرعت بخشیدن به زمان طراحی می‌شود. در صنایع مختلف برنامه‌نویسی مخصوصاً سمت وِب کیت‌های بسیاری جهت تولید و توسعه سریع همراه با کامپوننت‌های بسیار خوبی ارائه شده است که برخی از آن‌ها عبارتند از Bootstrap، UIkit و غیره...
      ما در نظر داریم کیتی را همانند کیت بوت استرپ برای کیوت کوئیک توسعه دهیم. بنابراین هر کامپوننت یا ماژولی که احساس نیاز از آن می‌شود را برای ما مطرح کنید. ابتدا ما ویژگی‌های بوت استرپ را شبیه سازی خواهیم کرد و سپس کیت‌های مورد نیاز شما را که در تاپیک‌های دیگر اعلان می‌شوند با این کیت ادغام خواهیم کرد.
       
      با توجه به اینکه من شخصاً کیتی را از قبل برای توسعه در نظر گرفته ام نام این پروژه Jupiter انتخاب شده است همان کیت را برای برنامه ریزی در این بخش عنوان می‌کنم تا برای ادامه نیز با همکاری همدیگر توسعه داده شود.
       
      کامپوننت‌ها
      Alerts Ads ActionButton ActivityIndicator Accordion Badges Button CircleButton Card CardInfo CardBox CircleImage CircleProgressBar Dropdown DifficultySection Forms Modal Menu MessageBox Map (Based on Google Map) Marker Navs Navbar Notification Profile Pagination Popovers Progress ProgressCircle Space Share SocialFeed Tooltips Header Footer FontSystem Slider InputBox Rate (Vote) WinButton پیشنهادات شما می‌تواند در این لیست اضافه شود...
      بسیاری از کنترل‌ها در هر زمینه‌ای که نیاز باشد در این لیست اضافه خواهند شد.
      نکته :‌ تمامی کنترل‌ها باید واکنش گرا باشند. این کیت تحت فونت آیکونیک‌های حرفه‌ای fontawesome مجهز خواهد شد. نکته ۲‌ : تمامی کامپوننت‌ها باید تحت قالب راست به چپ و چپ به راست پشتیبانی شوند. نکته ۳ : تمامی کامپوننت‌ها باید به دو زبان فارسی و انگلیسی واکنشگرا و تحت فونت‌های ویژه پشتیبانی شوند.
×