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

جستجو در تالارهای گفتگو

در حال نمایش نتایج برای برچسب های 'qt'.



تنظیمات بیشتر جستجو

  • جستجو بر اساس برچسب

    برچسب ها را با , از یکدیگر جدا نمایید.
  • جستجو بر اساس نویسنده

نوع محتوا


وبلاگ‌ها

چیزی برای نمایش وجود ندارد

چیزی برای نمایش وجود ندارد

تالارهای گفتگو

  • انجمن‌های آی او استریم
    • اخبار و اعلامیه‌های سایت
    • اسناد و قوانین مرجع
    • رویداد‌ها و جلسات
    • معرفی محصولات نوشته شده‌ بومی
    • مرکز نظرسنجی جامعه‌ی برنامه‌نویسان
    • مقالات و اسناد مشاوره‌ای
    • مرکز چالش برانگیز برنامه‌نویسان
    • رمز‌های موفقیت
    • ابزار‌ها و نرم‌افزارهای کاربردی برنامه‌نویسان حرفه‌ای
  • استارتاپی و کسب‌و‌کار
    • استارتاپ‌ها
    • سرمایه گذاری
    • شتاب دهنده‌ها
    • پارک‌های علم و فناوری و مراکز رشد
    • مصاحبه با استارت‌آپ‌ها
    • قوانین حقوقی
    • داستان‌های موفقیت
    • کارآفرینان و متخصصین
    • مشاوره اجرای کسب‌وکار
    • اخبار حوزه‌ی استارتا‌پی
    • آگهی‌های استخدامی
  • زبان‌های برنامه نویسی
    • برنامه نویسی در C و ‏++C
    • برنامه نویسی با Java
    • برنامه نویسی با JavaScript
    • برنامه نویسی با Go
    • برنامه نویسی با Python
    • برنامه نویسی با Delphi
    • برنامه نویسی با Ruby
    • برنامه نویسی با VB6
  • طراحی و توسعه وب
    • برنامه نویسی در PHP
    • برنامه نویسی با Node.JS
  • طراحی و توسعه وب اپلیکیشن‌ها
    • طراحی و توسعه در Angular
    • طراحی و توسعه در React.JS
    • طراحی و توسعه در Vue.JS
  • طراحی و توسعه موبایل و اِمبِد‌ها و تلوزیون‌ها
    • برنامه نویسی تحت محصولات اپل
    • برنامه نویسی تحت محصولات گوگل
    • طراحی و توسعه تحت محصولات دیگر
  • برنامه‌نویسی سطح پایین و سیستم عامل‌ها
    • سیستم عامل‌های آزاد
    • سیستم عامل‌های تجاری
  • بانک‌های اطلاعاتی
    • پایگاه داده MySQL
    • پایگاه داده PostgreSQL
    • پایگاه داده SQLite
    • پایگاه داده MongoDB
    • پایگاه داده SQL Server
    • دیگر پایگاه‌های داده
  • برنامه نویسی تحت محصولات اپل
    • محیط توسعه Xcode
    • برنامه نویسی با Objective-C
    • برنامه نویسی با Swift
  • برنامه نویسی تحت محصولات مایکروسافت
    • محیط توسعه Visual Studio
    • برنامه نویسی در ASP.NET MVC
    • برنامه نویسی با #C
    • برنامه نویسی با Visual Basic.Net
    • طراحی و توسعه تحت Wpf
    • طراحی و توسعه تحت Universal و Fluent
  • طراحی و توسعه تجربه کاربری (UX) و رابط کاربری (UI)
    • طراحی رابط کاربری (UI)
    • طراحی تجربه کاربری (UX)
  • درخواست انجام پروژه (ویژه)
    • پروژه‌های منبع‌باز
  • سوالات و مباحث عامیانه
    • سوالات دانشجویی
    • فناوری و سخت افزار
    • سوالات مشاوره‌ای و تخصصی مرتبط با حوزه‌ی برنامه‌نویسی
  • سطل آشغال
    • سطل آشغال

Product Groups

  • کتاب‌ها و مقالات آموزشی

دسته ها

  • علمی
  • استارتاپی
  • برنامه‌نویسی
    • زبان‌های برنامه نویسی
    • معماری‌ها
  • کامپایلر و مفسر
  • محیط‌های توسعه
  • پلتفرم‌های توسعه
  • کدنویسی ایمن
  • فناوری‌ها
    • پردازش تصویر
    • اینترنت اشیاء
    • پردازش ابری (Cloud Computing)
    • چند سکویی (Cross-Platform)
    • بیگ دیتا (Big Data)
    • هوش مصنوعی (AI)
    • سخت افزار
    • نرم‌افزار و اپلیکیشن
    • اینترنت و شبکه
    • رمزنگاری
    • امبد‌ها (Embedded)
  • طراحی
    • تجربه کاربری
    • رابط کاربری

دسته ها

  • عمومی
  • گرافیکی
  • شبکه و ارتباطات

دسته ها

  • کامپایلر‌ها
  • محیط‌های توسعه
  • کتابخانه‌ها
  • ماژول‌ها و پلاگین‌ها
  • محصولات بومی
  • کتاب‌ها و مقالات
  • زبان‌ها و ابزار‌ها
  • طراحی و گرافیک

جستجو در ...

نمایش نتایجی که شامل ...


تاریخ ایجاد

  • شروع

    پایان


آخرین بروزرسانی

  • شروع

    پایان


فیلتر بر اساس تعداد ...

تاریخ عضویت

  • شروع

    پایان


گروه


شناسه گیت‌هاب


شناسه لینکدین


شهر

42 نتیجه پیدا شد

  1. سلام و خسته نباشد میخوام یک ویدئو در اندروید نمایش بدم زمانی که بر روی یک دکمه کلیک شد اون ویدئو رو به صورت تمام صفحه نمایش داده بشه ، این روش رو با استفاده از ApplicationWindow انجام دادم ویدئو رو در ApplicationWindow قرار دادم و زمانی که بر روی دکمه کلیک میکنم ApplicationWindow به صورت showFullScreen درمیاد . حالا مشکل من اینجاست که ApplicationWindow که من در ویدئو استفاده کردم به صورت یک پنجره جدا گانه بیرون از ApplicationWindow اصلی نمایش داده میشه . و این باعث میشه که درخروجی که برای موبایل میگیرم ویدئو قابل نمایشی نباشه. سوالم اینجاست که چطوری میتونم ApplicationWindow به گونه ای تعریف کنم که در چهارچوب ApplicationWindow اصلی قرار بگیره و بیرون نیفته ؟ ممنون میشم راهنماییم کنید با تشکر
  2. کامبیز اسدزاده

    کتاب آموزش پیشرفته ++C همراه Qt (پیشرفته)

    نگارش 1.3.7

    همانطور که می‌دانید در سال ۹۵ نسخه اول ومقدماتی اولین کتاب برنامه نویسی سی پلاس پلاس همراه با کتابخانه کیوت انتشار یافت، طبق بازخورد‌هایی که از علاقه مندان و خوانندگان کتاب چه در نسخه رایگان و چه در نسخه تجاری به این نتیجه رسیدیم که محتوایی فراتر از محتوای مقدماتی که تحت برنامه نویسی سنتی بود در اختیار شما قرار دهیم. این کتاب به مناسبت چهلمین جشن پیروزی انقلاب اسلامی به مدت ۴۸ ساعت با تخفیف ۳۰٪ قابل سفارش می‌باشد. کد تخفیف: 22BAHMAN قیمت پایه ۶۵٬۰۰۰ تومان است. * تمامی حقوق مادی و معنوی این کتاب متعلق به مولف و ناشر مولف (کامبیز اسدزاده) می‌باشد و هرگونه کپی برداری از آن پیگرد قانونی خواهد داشت. توجه : در داشتن هر گونه انتقاد و پیشنهاد در رابطه با این کتاب با آدرس شخصی نویسنده (kambiz.ceo@gmail.com) مکاتبه نمایید. نکته : این کتاب در روز‌های خاص ممکن است شامل تخفیف قرار بگیرد. نکته دوم : کسانی که این کتاب را یک بار خریداری می‌کنند نسخه‌ی به روز رسانی شده آن را به صورت رایگان می‌توانند دریافت کنند. برخی از درخواست‌ها در کتاب مقدماتی به صورت زیر بودند: آموزش پیشرفته در رابطه با QML و آشنایی با آن آموزش برقراری ارتباط بین ++C و QML به صورت بک اند و فرانت اند آموزش کار با کنترل‌ها و نحوه سفارشی سازی پروژه آموزش برقراری ارتباط با پایگاه داده و فناوری های مرتبط با آن آموزش نحوه پیکربندی کیت‌ها٬ کامپایلر و ... آموزش نحوه توسعه برنامه بر روی پلتفرم های مختلف از حمله اندروید٬ آی او اس و ... و درخواست‌های دیگر... بنابراین بر اساس این درخواست‌ها و محتوایی که نیاز می باشد بعد از جلد مقدماتی با آن‌ها آشنا باشید را در این نسخه فراهم کرده ایم. نکته از نظر من در رابطه با محتوا: کتابخانه کیوت شامل مباحث بسیار زیادی است که می‌توان از هزاران صفحه محتوای آموزشی تولید کرد. اما در این محتوای آموزشی من تنها به مواردی اشاره کرده ام که لازمه کار هستند و در پروژه‌ها می‌بایست اطلاعات لازم در رابطه با آن‌ها داشته باشید. هزینه این کتاب چطور و بر چه اساسی خواهد بود؟ همانطور که می‌دانید هزینه مقدماتی کتاب در ویرایش اول و دوم با قیمت ۱۰.۰۰۰ تومان و در ویرایش سوم با قیمت ۲۰.۰۰۰ هزار تومان در اختیار علاقه مندان قرار گرفته است که شامل بهبود و توسعه قالب و محتوای آن بر اساس بازخورد ها بوده است. قیمت این جلد در حال حاضر۶۵.۰۰۰ تومان در نظر گرفته شده است که در قالب A4 با تعداد حداقل فعلی۴۴۶ صفحه‌ی (به‌روز شده) توسعه یافته است و در مرحله اول در قالب PDF منتشر خواهد شد. نسخه چاپی این کتاب چطور خواهد بود؟ آیا برنامه ای برای آن خواهید داشت؟ بر اساس بازخورد‌هایی که داشته ایم بیش از ۸۵ درصد علاقه مندان مایل به دریافت نسخه الکترونیکی کتاب بودند که در آن می‌توانند به راحتی کد‌های نوشته شده را در محیط توسعه خود کپی کنند بنابراین نسخه الکترونیکی در اولویت اول قرار گرفته است که می‌توان در کمترین زمان ممکن آن را آماده کرد. اما در رابطه با نسخه چاپی باید طبق مراحل مورد نیاز زمانی را صرف عقد قرارداد و توافق با ناشر در نظر بگیریم که ممکن است چند ماه بعد از نسخه الکترونیکی به تصویب رسیده و منتشر شود. (فعلا تصمیم قطعی در رابطه با این موضوع گرفته نشده است) این بستگی به استقبال علاقه مندان خواهد داشت و هزینه آن با نسخه الکترونیکی مجزا خواهد بود. سرفصل ها و محتوا چه چیز‌هایی هستند؟ محتوای کتاب طبق آخرین استاندارد کتابخانه بر پایه نسخه ۵.۸ به بالا می‌باشد. محتوای آن به نسخه ۵.۹ و حتی ۵.۱۰ به صورت پیش نویسه به روز رسانی شده است. همچنین ویژگی های و موارد مهمی که در نسخه ۵.۹ و ۵.۱۰ موجود هستند در این کتاب به آن‌ها اشاره شده است. سر فصل‌های نهایی و تایید شده کتاب: فصل اول مقدمه بر زبان ++C برخی از قابلیت‌ها ساختار برنامه در ++C کتابخانه‌ها فرق بین C و ++C ویژگی‌های معرفی شده در ++C ویرایش‌های ۱۱ ٬ ۱۴ و ۱۷ کامپایلر‌های ++C و وضعیت آن‌ها ساختار اسناد ++C در پروژه‌ کاربرد این زبان در کجاست؟ استاندارد‌های زبان مقدمه کیوت (Qt) معرفی کیوت (Qt) ۵.۹ آشنایی با محیط توسعه، نصب و راه اندازی همراه با پیکربندی کیت (Kit) در آن نصب و راه اندازی محیط Qt پیکربندی کیت‌ها در macOS پیکربندی کیت‌ها در Linux پیکربندی کیت‌ها در Windows معرفی محیط توسعه کیوت کرِیتور (Qt Creator) نسخه 4 پیکربندی و تنظیمات مربوط به ساخت برای پلتفرم‌های مختلف معرفی مجوز های Qt و نحوه استفاده از مناسبترین مجوز لوگو‌های نشانگر ساخته شده با Qt پشتیبانی از انواع پلتفرم‌ها پشتیبانی از انواع معماری ها شرایط و قوانین لازم جهت انتشار اپلیکیشن در فروشگاه iTunes یا همان (Apple Store) شرایط و قوانین لازم جهت انتشار اپلیکیشن در فروشگاهWindows Store شرایط و قوانین لازم جهت انتشار اپلیکیشن در فروشگاه Google Play شرایط و قوانین اختصاصی برنامه تحت Qt جهت انتشار و پذیرش در فروشگاه های مرتبط فصل دوم معرفی فناوری Qt Quick ویرایش 2 معرفی زبان کیو اِم اِل (QML) ویرایش 2 آشنایی با سبک - سینتَکس (Syntax) زبان QML روش اعلام یا اظهار یک شیء در QML اشیاء فرزند (Child-Object) در QML سبک و روش اعمال اظهار نظر (Comment) در QML صفت های اشیاء در QML پشتیبانی از جاوا اسکریپت (JavaScript) و ترکیب آن با QML روش استفاده از جاوا اسکریپت در سند QML روش های ترکیب ++C و استفاده از آن در سند QML فصل سوم معرفی انواع پروژه ها تحت فناوری کیوت کوئیک (Qt Quick) معرفی پروژه از نوع Qt Widget Application معرفی پروژه از نوع Qt Console Application معرفی پروژه از نوع Qt Quick Application معرفی پروژه از نوع Qt Quick Controls 2 Application معرفی پروژه از نوع Qt Quick Controls Application معرفی پروژه از نوع Qt Quick Canvas 3D Application معرفی پروژه از نوع Qt Quick Labs Controls Application آغاز ایجاد پروژه تحت C++ و Qt Quick ساده ترین برنامه معرفی کلاس QGuiApplication معرفی کلاس QQmlApplicationEngine معرفی کلاس QCoreApplication معرفی تابع exect در پروژه فصل چهارم انواع کنترل ها، منو ها و دیگر آبجکت ها معرفی انواع QML پایه در فناوری Qt Quick نوع date نوع color نوع font نوع matrix4x4 نوع point نوع quaternion نوع rect نوع size نوع vector2d نوع vector3d نوع vector4d معرفی انواع اشیاء QML در فناوری Qt Quick معرفی Accessible معرفی AnchorAnimation معرفی AnchorChanges معرفی AnchorImage معرفی AnimatedSprite معرفی Animation معرفی AnimationController معرفی Animator معرفی Behavior معرفی BorderImage معرفی Contex2D معرفی Canvas معرفی CanvasGradient معرفی CanvasImageData معرفی CanvasPixelArray معرفی CanvasColorAnimation معرفی Column معرفی DoubleValidator معرفی Drag معرفی DragEvent معرفی DropArea معرفی EnterKey معرفی Flickable معرفی Flipable معرفی Flow معرفی FocusScope معرفی FontLoader معرفی FontMeteric معرفی Gradient معرفی GridMesh معرفی GridView معرفی Image معرفی IntValidator معرفی Item معرفی ItemGraResult معرفی KeyEvent معرفی KeyNavigation معرفی Keys معرفی LayoutMirror معرفی ListView معرفی Loader معرفی MouseArea معرفی MouseEvent معرفی MultiPointTouchArea معرفی NumberAnimation معرفی OpacityAnimator معرفی ParallelAnimation معرفی GraphicInfo معرفی ParentAnimation معرفی ParentChange معرفی Path معرفی PathAnimation معرفی PathView معرفی PauseAnimation معرفی PropertyAction معرفی PropertyChanges معرفی Rectangle معرفی RegExpValidator معرفی Repeater معرفی Rotation معرفی RotationAnimation معرفی RotationAnimator معرفی Row معرفی Scale معرفی ScaleAnimator معرفی SecuentialAnimation معرفی ShaderEffect معرفی ShaderEffectSource معرفی Shortcut معرفی SmoothedAnimation معرفی SpringAnimation فصل پنجم معرفی انواع کنترل های 2 Qt Quick Controls کنترل AbstractButton کنترل ApplicationWindow کنترل BusyIndicator کنترل Button کنترل ButtonGroup کنترل CheckBox کنترل CheckDelegate کنترل ComboBox کنترل Container کنترل Control کنترل Dial کنترل Drawer کنترل Frame کنترل GroupBox کنترل ItemDelegate کنترل Label کنترل Menu کنترل MenuItem کنترل Page کنترل PageIndicator کنترل Pane کنترل Popup کنترل ProgressBar کنترل RadioButton کنترل RadioDelegate کنترل RangeSlider کنترل ScrollBar کنترل ScrollIndigator کنترل Slider کنترل SprinBox کنترل StackView کنترل SwipeDelegate کنترل SwipeView کنترل Switch کنترل SwitchDelegate کنترل TabBar کنترل TabButton کنترل TextArea کنترل TextField کنترل ToolBar کنترل ToolButton کنترل ToolTip کنترل Thumbler فصل ششم معرفی Qt Quick Dialog (دیالوگ های انتخاب رنگ، فایل، فونت و پیغام) معرفی Color Dialog معرفی Font Dialog معرفی File Dialog معرفی Message Dialog معرفی Qt Quick Layouts معرفی Column Layout معرفی Grid Layout معرفی Row Layout معرفی Stack Layout معرفی Qt Quick Control Styles (سبک و استایل نویسی کنترل ها – سفارشی سازی) واکنش گرایی و پاسخ دهی محتوای وب در اپلیکیشن با Qt WebEngine محتوای چند رسانه ای در کیوت QMultimedia محتوای چند رسانه ای در کیوت QMultimedia پخش صوت ظبط صدا در فایل پخش ویدیو کار با دوربین فصل هفتم معرفی و پیکربندی کار با بانک اطلاعاتی (دیتابیس) کار با بانک اطلاعاتی و ارتباط آن بین C++ و QML معرفی و کار با XML معرفی و کار با JSON معرفی و کار با QSetting سفارشی سازی فایل .pro پروژه فصل هشتم مقایسه انواع حالت های کامپایل Debug و Release نحوه افزودن دیگر کتابخانه های C++‎‎ در محیط Qt Creator و استفاده همراه با کتابخانه Qt فرق بین کامپایل استاتیک و داینامیک نحوه خروجی گرفتن / گسترش (Deployment) در Qt پیکربندی و انتشار برنامه در پلتفرم ویندوز (Windows) پیکربندی و انتشار برنامه در پلتفرم مک (macOS) پیکربندی و انتشار برنامه در پلتفرم لینوکس (Linux) پیکربندی و انتشار برنامه در پلتفرم‌های iPhone و iPad (iOS) پیکربندی و انتشار برنامه در پلتفرم اندروید (Android) معرفی ابزار کیوبس (QBS) به روز رسانی کیوت بدون دریافت فایل نصبی آفلاین اهداف نسخه‌های ۵.۱۰ و ۶ پیشنهادات و ملاحظات در عملکرد و کارآیی (جدید)

    650٬000 ریال

  3. با سلام و عرض ادب. من یک rest api دارم که پس از لاگین به من یک access token ارسال می کنه که من می تونم برای درخواست های بعدی از اون استفاده کنم. حالا می خوام بدونم کلاینت خودم (تحت Qml xmlhttprequest) رو چطور پیاده سازی کنم که پس از اولین ورود توسط یوزر و پسوردی که از کاربر گرفتم برای دفعات بعدی نیاز به گرفتن یوزر و پسورد نباشه. مانند اپلیکیشن های تاکسی آنلاین و... که یک بار فقط مشخصات رو از کاربر می پرسند. اگر بخوام یوزر و پسورد یا access token رو در اپلیکیشن ذخیره کنم احتمال decompile یا چیزی شبیه به این هست که موجب افشا شدن این اطلاعات میشه. (آیا Qml Settings امنیت این کار رو تامین می کنه؟) لطفا راه کار رو بفرمایید. تشکر
  4. کامبیز اسدزاده

    کتابخانه‌ی Qt

    نگارش 5.12.1

    87 دریافت

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

    رایگان

  5. Saman

    سلام وخسته نباشید روی یک پروژه ای کار میکنم که داریم توی اون یک سری محتوایی رو به صورت html دریافت میکنم که این html دارای حروف و عکس هستش و این محتوا رو با Text دارم نمایش میدم این قابلیت وجود داره که html هایی که دارم با Text نمایش میدم بهشون استایل بدم Text{ id:text text:"<b></b> - bold <strong></strong> - bold <i></i> - italic <br> - new line <p> - paragraph <u> - underlined text <font color='color_name' size='1-7'></font> <h1> to <h6> - headers <a href=''> - anchor <img src='' align='top,middle,bottom' width='' height=''> - inline images <ol type=''>, <ul type=''> and <li> - ordered and unordered lists <pre></pre> - preformatted &gt; &lt; &amp;" } ممنون میشم راه حلی برای این کار پیشنهاد بدید
  6. سلام و خسته نباشید چگونه میتوان از فایل main.qml به ایدی دیگر صفحات دسترسی داشت
  7. سلام، در qml جدولی دارم که با ارث بری از listView ایجاد شده و علاوه بر اطلاعات اعداد حاوی اطلاعات تصویر هم هست. برای گزارشگیری از این جدول به صورت pdf باید تصاویر و نوشته‌هایی به عنوان سربرگ اضافه کنم. برای الصاق تصاویر و گزارشگیری از این جدول به صورت pdf چه راهی در qml پیشنهاد می‌کنید؟
  8. سلام خسته نباشید میخوام چند عنصر مثل تصویر مقابل کنار هم چینش داشته باشه و به صورت ریسپانسیو باشه . این عمل رو با Flow میشه انجام داد ولی مشکل اینجا بود که نتونستم داینامیکش کنم یعنی در هر صفحه اطلاعات تغییر بکنه و با GridView هم این کار انجام میشه مشکل اینجا بود که محتوا در یک اندازه ثابت کنار هم به نمایش درمیاد . ممنون میشم که کمکم کنید .
  9. GornerLabo

    با سلام و خسته نباشید خدمت اساتید محترم. در بحث Qt میخواستم کاربرد QMap ، QList و QVector رو بدونم که در کجاها ازشون استفاده میشه ؟ و آیا به جز این سه کلاس کلاسی دیگری هست در کیوت برای استفاده مشابه؟
  10. سلام و خسته نباشید زمانی که دکمه Back تلفن همراه لمس میشه میخوام صفحه pop بشه و دارم از این کد استفاده میکنم و صفحه یکی برمیگرده به قبلی StackView{ id: stackView focus: true anchors.fill: parent Keys.onBackPressed:{ pop(); } } اما مشکلی که هست در بعضی مواقع با لمس دکمه ‌بازگشت این کار انجام نمیشه دکمه بازگشت کار قبلی خودش رو انجام میده و از برنامه خارج میشه ممنون میشم که راهنماییم کنید سپاس
  11. با سلام و خسته نباشید خدمت اساتید محترم. اگه بخواییم در QWidget یک فایل فشرده با فرمت های مختلف همچون zip , RAR , tar و ... را فراخوانی کنیم و فایل های محتوایی که در این فایل فشرده هست را در برنامه استخراج (Extract) کرده و به صورت یک لیست دربیاریم و به صورت دلخواه هر فایل را جدا استفاده کنیم باید به چه شکل عمل کنیم؟ آیا کتابخانه خاصی داره برای این کار ؟ اگر مثال در این مورد سراغ دارین ممنون میشم کمک کنید. با تشکر
  12. بهنام صباغی

    QCustomPlot

    نگارش 2.0.1

    5 دریافت

    QCustomPlot یک کتابخانه ویجت کیوت سی پلاس پلاس است که هیچ پیش‌نیاز بیشتری ندارد و به خوبی مستند شده است. این کتابخانه تمرکز بر انتشار گراف و نمودارهای دو بعدی سنگین دارد و با بهره‌وری عالی خود انتخاب خوبی برای مجسم‌سازی بی‌درنگ است. نگاهی به آموزش راه اندازی و آموزش مقدماتی نمودار بندازید.

    رایگان

  13. با سلام. در حال یادگیرQt و Thread ها بودم که به مشکل دسترسی به متغیر در Thread بر خوردم. کلاس زیر از QThread مشتق شده است : #ifndef MYTHREAD_H #define MYTHREAD_H #include <QObject> #include <QWidget> #include <QThread> #include <QMutex> class MyThread : public QThread { Q_OBJECT public: explicit MyThread(QObject *parent = nullptr); void run() override; bool Stop; signals: void NumberChanged(int); }; #endif // MYTHREAD_H #include "mythread.h" MyThread::MyThread(QObject *parent) : QThread (parent) { } void MyThread::run() { for(int i=0; i<100000000 ; ++i){ QMutex mutex; mutex.lock(); if (this->Stop) break; mutex.unlock(); emit NumberChanged(i); this->msleep(100); } } داخل فرم خودم دو QPushBotton و یک QLabel دارم. که یکی از دکمه‌ها (QPushButton) وظیفه اجرای یک QThread را دارد و یکی دیگه باعث متوقف کردن کار QThread ایجاد شده : #include "dialog.h" #include "ui_dialog.h" Dialog::Dialog(QWidget *parent) : QDialog(parent), ui(new Ui::Dialog){ ui->setupUi(this); mThread = new MyThread(this); connect(mThread,SIGNAL(NumberChanged(int)),this,SLOT(onNumberChanged (int))); } Dialog::~Dialog(){ delete ui; } void Dialog::onNumberChanged(int Number){ ui->label->setText(QString::number(Number)); } void Dialog::on_pushButton_clicked(){ mThread->start(); } void Dialog::on_pushButton_2_clicked(){ mThread->Stop = false; } در کد بالا زمانی‌که on_pushButton_clicked فراخوانی شد. QThread را اجرا میکند. و در مقابل زمانی‌که on_pushButton_2_clicked فراخوانی شد. متغیر bool MyThread::Stop را برابر مقدار false میگذارد که باعث از بین رفتن عملیات QThread ایجاد شده میشود. اما در اصل هیچ تفاوتی ایجاد نمیکند ؟ و زمان بستن برنامه با خطای لاگ زیر برخورد میکنم : 21:39:20: Starting /tmp/untitled/build-untitled-Desktop_Clang_7_0_0-Debug/untitled... QThread: Destroyed while thread is still running 21:39:32: The program has unexpectedly finished. 21:39:32: The process was ended forcefully. 21:39:32: /tmp/untitled/build-untitled-Desktop_Clang_7_0_0-Debug/untitled crashed. کجای کار اشتباه شده است ؟
  14. این تاپیک جهت معرفی و اطلاع رسانی در رابطه با اهداف نسخه‌های جدید، به‌روز‌رسانی‌ها، تاریخ انتشار و موارد مرتبط با آن ایجاد شده است. در این تاپیک به موضوعات مرتبط خواهیم پرداخت. جهت شروع نسخه‌ی ۵.۱۲.۰ کیوت با پشتیبانی LTS را معرفی می‌کنیم. همانطور که می‌دانید کمپانی و تیم توسعه‌دهنده با فعالیت‌های بسیار زیاد خود مُدام در حال به‌روز رسانی و حل مشکلات بازخورد شده از سمت کاربران برای این کتابخانه هستند. بر خلاف نسخه‌های پیشین نسخه‌های سری ۵ با به‌روز‌رسانی‌های پی‌در‌پر مواجه شده است که شاید این بزرگترین تمایز تیم توسعه دهنده در نسخه‌های قبلی است. کتابخانه‌ی کیوت معمولاً در نسخه‌های اصلی از ویژگی‌ها و تغییرات چشمگیری مواجه می‌شود که می‌توان آن‌ها را در تغییرات یا افزوده شدن به ماژول‌های هسته، فرعی و افزونه‌های آن اشاره کرد. البته به این مورد نیز باید اشاره کنیم که این به‌روز‌رسانی‌ها تنها برای خود کتابخانه نبوده و معمولاً محیط توسعه‌ی آن نیز همراه خود به‌روز‌رسانی و حتی به صورت جداگانه منتشر می‌شود که در اینجا تاپیک مخصوص آن آورده شده است. از آنجایی که انتظار می‌رود کیوت در نسخه‌ی ۵.۱۲.۰ با به‌روز‌رسانی‌های اساسی آمده است. یکی از مهمترین آن‌ها تغییر بر روی کامپایلر‌ها و پشتیبانی کامل از استاندارد‌های جدید C++ است. در این نسخه کامپایلر‌های GCC به نسخه‌ی ۸ و کامپایلر‌های Clang به نسخه‌ی ۷ و مهمتر از همه در محیط ویندوز به‌روز رسانی MinGW به نسخه‌ی ۷ بوده است. البته ناگفته نماند با توجه به تغییرات اخیر گوگل در NDK که اعلام کرده است کامپایلر پیشفرض GCC به Clang تغییر کرده است این تغییر نیز در کیوت اعمال و با هماهنگی ۱۰۰٪ از ویژگی‌های جدید توسعه اندروید هماهنگ شده است. بنابراین شما در بخش کیت‌ها شاهد وجود کامپایلر‌های متعددی خواهید بود که به‌روز رسانی شده اند. نکته‌ی مهم برای توسعه دهندگان ویندوز : اگر به خاطر داشته باشید در نسخه‌های ۵.۱۰.۰ به بعد کامپایلر ۳۲ بیتی MSVC به طور غیر منتظره‌ای حذف شده بود که با بازخورد کاربران روبرو و در نهایت در این نسخه نسخه‌ی ۳۲ بیتی کامپایلر MSVC افزوده شده است. مهمترین به‌روزرسانی‌های کیوت ۵.۱۲.۰ ویژگی‌های اضافه شده به هسته: افزوده شدن ویژگی جدید CBOR به عنوان فرمت جدید همانند JSon برای سریالیز داده‌ها. افزوده شدن متد hashLength برای QCryptographicHash که طول خروجی هَش شده را بر می‌گرداند. افزوده شدن متد wildcardToRegularExpression به QRegularExpression جهت معرفی راحت‌تر کد کاربر. افزوده شدن متد anchoredPattern به QRegularExpression جهت پیاده سازی تطبیق کد کاربر. افزوده شدن QRegularExpression برای کلاس QSortFilterProxyModel ویژگی‌ها و تغییرات در QtGui افزوده شدن پشتیبانی از ویژگی Windows UI Automation در WinRT QPA برای برنامه‌های مبتنی بر UWP که آن را قادر می‌سازد تا با ابزار‌های قابل دسترس در سمت UI دسترسی داشته باشند. جایگزین شدن ویژگی‌های مرتبط با دستگاه‌های ورودی mouse، touchpad، touchscreen و tablet با ویژگی‌های متحد بر پایه‌ی ویندوز ۸ و جدیدتر. افزوده شدن QGradient جدید بر پایه https://webgradients.com افزوده شدن فرمت‌های 4xU16 ،RGBA64 به QImage جهت خواندن فرمت‌های PNG و TIFF و همچنین امکان آپلود و گرفتن آن‌ها از OpenGL. ویژگی‌ها و تغییرات در QtNetwork افزوده شدن DTLS برای پشتیبانی از UDP افزوده شدن یک بازنگری مجدد برای ترنسفر ایمن در بک‌اِند. افزوده شدن پشتیبانی از ALPN در پروتکل HTTP/2 جهت امنیت ترنسفر اطلاعات. افزوده شدن پشتیبانی از ویژگی PKCS#8 در بک‌اِند عمومی (WinRT و ترنسفر اطلاعات) افزوده شدن QPasswordDigestor به عنوان یک فضای نام که شامل توابعی برای استخراج کلید بر پایه رمزعبور می‌باشد (در حال حاضر PBKDF1 و PBKDF2) در دسترس هستند. ویژگی‌ها و تغییرات در QtQml پشتیبانی از موتور نسخه‌ی ۸ جاوا اسکریپت فراهم شده است (ECMAScript 7) ماژول ECMAScript می‌تواند به طور مستقیم توسط QJSEngine::importModule() بارگذاری شود و می‌تواند فایل‌های .qml را در زمان استفاده از فایل‌های .mjs را فراهم سازد. ویژگی‌ها و تغییرات در QtQuick نوع‌های Pointer Handlers به Input Handlers تغییر نام پیدا کرده‌اند (البته ویژگی‌های مربوط به این دسته در این شاخه وجود دارند) و اکنون به طور کامل به عنوان یک ویژگی پشتیبانی شده در یک کلاس QML تحت Qt Quick پشتیبانی می‌شود. (رابط‌های برنامه‌نویسی سمت سی‌پلاس‌پلاس برای آن‌ها هنوز عمومی نشده است). نوع HoverHandler نوع جدیدی برای شناسایی ویژگی Mouse hover می باشد. این ویژگی‌ می‌تواند شناور ماوس را در موارد عمیقی شناسایی کند. بر خلاف MouseArea، شما می‌توانید چندین آیتم با HoverHandler به صورت هم‌زمان قرار دهید (برای مثال نوار کناری (SideBar) و یک دکمه‌ بر روی آن. نوع DragHandler به عنوان یک نوع چند-نقطه‌ای بشمار می‌رود. اگر شما مقدار minimumPointCount را به ۲ تغییر دهید، به کشیده شدن تنها با دو انگشت واکنش نشان خواهد داد. این ویژگی می‌تواند به مراتب آزادی‌های بیشتری را در توسعه به شما ارائه دهد. کشیده شدن توسط یک انگشت می‌تواند یک حرکت خاص را انجام دهد و کشیده شدن توسط دو انگشت می‌تواند کارهای دیگری را انجام دهد (به عنوان مثال زاویه‌ی شیب را تغییر دهد). افزوده شدن پشتیبانی از مخازن از پیش تولید شدن جهت سرعت بخشید به اجرا در زمان استارت‌آپ. افزوده شدم آیتم TableView به عنوان یک نوع دیگری از نوع Item View همانند ListView که بر خلاف آن ویژگی چند ستونه شدن را دارا می‌باشد. بر خلاف Qt Quick 1.x ویژگی ظاهری برای آن طراحی نشده است. اما جای آن فراهم شده است تا توسط delegates ها بتوانید بر اساس تقاضا آن‌ها را فراهم کنید. ویژگی DelegateChooser به عنوان پیش نمایشی از تکنولوژی ارائه شده است که به عنوان delegate های Item Views ها مانند TableView بسته به مقادیر آن‌ها کاربرد دارد. ویژگی‌ها و تغییرات در QtQuick Controls 2.x کنترل Dial ویژگی inputMode را اضافه کرده است. که دو روش جدید جهت تعامل به صورت عمودی و افقی را فراهم می‌کند. این ویژگی‌های ورودی از یک سیستم ورودی نسبی استفاده می‌کنند. به این معنی است که بر خلاف سیستم ورودی مطلق قبلی، اغییرات در موقیع شماره گیری به آن اعمال می‌شود. این ویژگی در نتیجه‌ی آن تاثیر می‌گدارد و باعث می‌شود شماره گیر پرش کمتری داشته و آن را از عملیاتی که ممکن است مضر باشد تضمین کند. کنترل Popup ویژگی‌های leftInset، bottomInset، topInset و rightInset را به بخش پس زمینه مشابه کنترل‌های paddings در contentItem اضافه کرده است. اضافه شدن خاصیت‌های implicitWidth و impliciyHeight ویژگی‌های implicitHeaderWidth و implicitContentWidth و غیره برای ساده سازی پیوند‌های اندازه‌ی ضمنی و پیچیده ارائه شده است. در کنترل‌های SwipeView و DialogButtonBox خاصیت‌های contentWidth و contentHeight افزوده شده است. در کنترل RageSlider خاصیت valueAt() به عنوان تابع اضافه شده است، که اجازه می‌دهد تا مقادیر در هر زمان از تغییر برای tooltip به‌روز و تنظیم شوند. در کنترل RangeSlider خاصیت‌های first.mode() و second.mode() به عنوان سیگنال‌هایی مشابه سیگنال moved() اضافه شده‌اند. در آیتم پایه Control، در صورتی که به صراحت مشخص شده باشد، baselineOffset به صورت خودکار فاصله‌ی بالای کنترل و baselineOffset از contentItem را کنترل می‌کند. مشخص سازی استایل برای این کنترل نیاز نیست. در کنترل Popup، خاصیت‌های anchors.centetIn به عنوان یک راه حل مناسب اجازه تنظیم مرکز یک popup را می‌دهد. آیتم QQuickStyle، افزوده شدن ویژگی‌های stylePathList() و addStylePath() به عنوان مدیریت فهرستی از سبک‌های موجود در کیوت کوئیک کنترل ۲ را فراهم می‌کند. کنترل Slider، RangeSlider ویژگی touchDragThreshold را برای پیکربندی آستانه‌ی شروع کشیدن (لمس) لغزنده فراهم می‌کند. کشیدن ماوس در این ویژگی تاثیری ندارد. در کنترل‌های TextArea و TextField خاصیت placeHolderTextColor برای راحتی کار برای افزودن رنگ در متن پیشفرض و نمایشی در پس زمینه‌ی کنترل اضافه شده است. در ویژگی Material، یک سری موارد مورد استفاده‌ی انبوه برای استفاده از این سبک در پلتفرم‌های دسکتاپ افزوده شده است.برخی از کنترل‌ها از ارتفاع و اندازه‌ی قلم کوچکتری استفاده می‌کنند. جهت پیکربندی آن نیز می‌توان از متغیر QT_QUICK_CONTROLS_MATERIAL_VARIANT جهت مشخص سازی تراکم و یا با تنظیم Variant=Dense در فایل پیکربندی qtquickcontrols2.conf استفاده کرد. کنترل DialogBoxButton خاصیت buttonLayout به آن اضافه شده است که می‌تواند برای ترتیب و مرتب ساختن دکمه‌ها از آن استفاده شود. کنترل Tumbler، تابع positionViewAtIndex() را اضافه کرده است که می‌تواند عملکرد توابع مربوط به PathView و ListView را بسته به مقدار آن‌ها بسته بندی کند. این امکان اجازه می‌دهد تا مقدار currentIndex بدون انیمیشن تغییر یابد. در Control و Popup، خاصیت‌های horizontalPadding و verticalPadding به عنوان روش مناسب جهت تنظیم جپ و راست و یا بالا و پایین فاصله‌ها در یک حرکت در نظر گرفته شده است. کنترل Tooltip، روش‌های show() و hide() را برای نمایش پارامتر‌های خاص اضافه کرده است. ویژگی‌ها و تغییرات در QtSerialBus افزوده شدن یک افزونه‌ی مجازی CAN برای شبیه سازی CAN بدون سخت‌افزار. افزوده شدن گزینه‌های پیکربندی برای canbusutil برای عنوان برای تنظیم میزان بیت‌ریت. افزوده شدن CAN FD به پلاگین PeakCAN. افزوده شدن توابع readAllFrames() و clear() به QCanBusDevice. ویژگی‌ها و تغییرات در QtWebEngine به‌روز رسانی شده به Chromium 69 رابط QWebEngineUrlScheme برای تنظیم و پیکربندی نوع و امنیت در طرح‌های سفارشی URL. ویژگی‌های WebActions در معرض QML قرار گرفته‌اند. اکنون می‌توان صفحه‌هاتی که آن‌ها را خوانده وی ا از آن‌ها دانلودی صورت گرفته است را خواند. گواهی‌نامه‌های SSL از این پس پشتیبانی می‌شوند. خواندن آن‌ها از تنظیمات macOS و Windows و بانک اطلاعاتی NSS در Linux امکانپذیر است. ویژگی‌ها و تغییرات در Qt Labs Platform در آیتم‌های Menu، MenuItem و SystemtryIcon خاصیت iconName و iconSource منسوخ شده است. در آیتم‌های Menu، MenuItem و SystemtryIcon خاصیت icon.mask افزوده شده است. ویژگی‌ها و تغییرات در Qt Virtual Keyboard یک رابط واسط برای کلید مجازی تعریف شده است. تمامی روش‌های ورودی فعلی و برخی از ویژگی‌های ویژه‌ی لایه‌های آن مانند Hunspell، OpebWnn و غیره به ویژگی‌های اضافی منتقل شده‌اند. این ویژگی اجازه می‌دهد تا ساخت و ساز‌های نوع سوم بدون دستکاری ورودی‌های پیشفرض این ماژول صورت بگیرد. با معرفی این ماژول افزونه‌های اضافی می‌توانند با آن لینک شوند. این ماژول رابط‌های برنامه‌نویسی لازم ++C را برای ایجاد یک روش ورودی جدید فراهم می‌کند. افزوده شدن گزینه‌ی build time به امکان محدود سازی تمامی سبک‌ها در پلاگین را فراهم می‌کند. پشتیبانی از MyScript برای تشخیص دست نویس اضافه شده است. ویژگی تشخیص Vietnamese در دست خط اضافه شده است. افزوده شدن لایه‌های جدید، آلبانی، آمریکایی، انگلیسی، فرانسوی، کانادایی، اندونزیایی، مالایی، پرتغال برزیبی، اسلواکی، اسلوونیایی، اسپانیایی مکزیکی، تایلندی، ترکی، ویتنامی و اکراینی. لایه‌های بیشتر در باره‌ی زبان روسی نیز اضافه شده است. برخی از لغت نامه‌ها به صورت پیش فرض تحت یک افزونه اضافه شده‌اند. فرهنک لغت کاربری Hunspell افزوده شده است. ویژگی‌ها و تغییرات در Qt Bluetooth افزوده شدن توانایی جهت کشف داده‌ها از طریف QBluetoothDeviceDiscovery ویژگی‌ها و تغییرات در Qt 3D افزوده شدن ویژگی جهت بارگیری درون یک فایل که شامل نام و شناسه‌ی مشخصی است در بخش نمایه به عنوان انیمیشن فراهم شده است. فعال شدن منحنی‌های ثابت در انیمیشن. رفع مشکلات مربتط با QNodes ها در برخی شرایط. رفع و بهبود در نمایش بافت‌ها در اشیاء نوع TextureImage دیگر به عنوان فرزند بافت در نظر گرفته نمی‌شود. زمانی که در یک حلقه‌ی شبیه سازی شده قرار گرفته نشود، استفاده از پردازنده کاهش پیدا خواهد کرد. نوع EntityLoader از این پس قادر به بارگیری از یک Component به خوبی یک فایل است. پشتیبانی از سیستم رندرینگ OpenGL ES 3.1 فراهم شده است. عملکرد‌ها و یک سری باگ‌ها در بخش بک اند رفع و کارآیی آن بهبود داده شده است. ویژگی‌ها و تغییرات در Qt Wayland Compositor افزوده شدن پشتیبانی از نسخه‌ی پایدار xdg-shell (همچنین نسخه‌ی ناپایدر ۵ آن منسوخ شده است). پشتیبانی از xdg-decoration-unstable-v1 برای سمت سرور جهت اعمال دکوراسیون پنجره‌ها اعمال شده است. ویژگی‌ها و تغییرات در Qt WebSocket تابع "bytesToWrite" به این ماژول افزوده شده است. ویژگی‌ها و تغییرات در Qt Location پلاگین MapboxGL به‌روز‌رسانی شده و پشتیبانی از QNX7 فراهم شده است. حذف خاصیت‌های add و remove و افزوده شدن آن به MapItemView آیتم MapItemView هم‌اکنون کلاس MapItemGroup را طبقه بندی می‌کند و به خودی خوب غیر قابل تغییر می‌باشد. در حال حاضر PlaceSearchModel اجازه می‌دهد تا مدل به صورت پراکنده پُر شود. ویژگی Map.visibleArea جهت محدود کردن مناطق قابل مشاهده بر روی نقشه اضافه شده است. ویژگی geoShape در آیتم‌های مربوط به MapItem به صورت R/W تنظیم شده است و یک تنظیم کننده مجازی در کلاس پایه دارد. پشتیبانی از نگه‌دارنده‌ی حفره‌ها در QGeoPolygon فراهم شده است. افزوده شدن پشتیبانی از Route Legs به پلاگین. ویژگی‌ها و تغییرات در Qt Test خطاهای مربوط به std::tuple در زمان استفاده از QCOMPARE تشخیص داده می‌شوند. ماژول‌های جدید افزوده شدن ماژول Qt Remote Objects با پشتیبانی کامل. افزوده شدن پلاگین Qt WebGL Streaming با پشتیبانی از استریم در مرورگر و اپلیکیشن‌های تحت وب. تغییرات مرتبط با پلتفرم‌ها در QTimeZone از ICU در صورتی که در دسترس باشد استفاده می‌کند (اولویت استفاده با Api‌ مایکروسافت می‌باشد). در سیستم‌عامل macOS پشتیبانی از QSurfaceType::MetalSurface فراهم شده است. در macOS پشتیبانی از QSurfaceType::VulkanSurface و QVulkanWindow از طریق MoltenVK فراهم شده است. در Wayland نسخه‌ی پایدار xdg-shell افزوده و نسخه‌ی ناپایدار ۵ آن منسوخ شده است. با استفاده از پنجره‌های پیشفرض نمایش آن‌ها زیباتر و بهتر شده است. پشتیبانی از ویژگی‌های اضافی xdg-decoration-unstable-v1 و xdg-output-unstable-v1 فراهم شده است. فناوری‌های جدید به عنوان پیش‌نمایش ویژگی Qt for WebAssembly امکان این را فراهم می‌سازد تا برنامه‌های تحت کیوت در بستر مرورگر‌ با استفاده از WebAssembly اجرا شوند. تغییرات مرتبط با Qt for Automation ویژگی Qt MQTT پشتیبانی کامل از پروتکل MQTT سطح ۵ ویژگی Qt KNX پشتیبانی از KNXnet/IP Core نسخه‌ی ۲ پشتیبانی از KNXnet/IP Routing نسخه‌ی ۱ پشتیبانی از KNXnet/IP Tunneling نسخه‌ی ۲ پشتیبانی از KNXnet/IP و برقراری ارتباط از طریق TCP پشتیبانی از KNXnet/IP Secure به صورت پیش نمایش از فناوری ویژگی Qt OPC UA پشتیبانی از Events‌ها افزوده شدن رابط‌های برنامه‌نویسی جهت خواندن به صورت دسته‌ای افزوده شدن رابط‌های برنامه‌نویسی جهت نوشتن به صورت دسته‌ای افزوده شدن یک TranslateBrowsePathsToNodeIds به رابط‌های برنامه‌نویسی رابط‌های مرورگری بهبود یافته شده پشتیبانی از انواع Argument و ExpandedNodeId نود‌ها می‌توانند از این پس از به وسیله‌ی ExpandedNodeId استفاده شوند. پشتیبانی از آرایه های چند بعدی بهبود یافته است. پشتیبانی از خواندن و نوشتن اشیاء اضافی فراهم شده است. ماژول‌های منسوخ (حذف در نسخه‌های بعدی) ماژول Qt Script ماژول Qt Quick Controls 1 ماژول Qt Canvas 3D
  15. miladrahbari

    سلام، من در پروژه‌ی خودم از یک ویجت استفاده می‌کنم که داخل آن ویجت یک کلاس mainwindow وجود دارد. در داخل این کلاس من دو تا qquickwidget تعریف کردم تا از المان های درست شده در qml استفاده کنم. حالا سوالی که مطرح می‌شود این است. فکر کنید من در داخل یک ویجت ۱۰ بار از این component که در qml وجود دارد استفاده کردم. حالا مثلا مقدار یک component کیو ام ال رو تغییر می‌دهم و شکل ظاهری این المان تغییر می‌کند. وقتی که شکل این المان تغییر می‌کند کل صفحه (ویجت) repaint می‌شود؟؟؟ یا فقط اون المان خاص؟؟؟ ممنون
  16. MohammadTahaRabie

    سلام من میخواستم از یه QPlainTextedit خط خط نوشته هارو بخونم و هر کدوم رو به یک QThread ام بدم و از QPlainTextedit پاک بشه هر خطی که خونده شده رو چطور میتونم اینکارو انجام بدم؟ C++ کم بلدم دارم یاد میگیرم ممنون میشم کمک کنید.
  17. با سلام خدمت اساتید محترم. اگر بخواهیم مقدار بازگشتی از رایت چندین دستور در مورد کلاس QSerialPort به صورت دلخواه ذخیره کنیم باید به چه شکل عمل کرد؟ کد زیر برای دستوری است که عمل رایت دستور را انجام میدهد: port->setPortName(""); // COM PORT NAME port->setBaudRate(QSerialPort::Baud9600); port->setFlowControl(QSerialPort::NoFlowControl); port->setParity(QSerialPort::NoParity); port->setDataBits(QSerialPort::Data8); port->setStopBits(QSerialPort::OneStop); port->open(QSerialPort::ReadWrite); if(port->isOpen()) { port->write(); // command 1 for write port->write(); // command 2 for write port->write(); // command 3 for write port->write(); // command 4 for write } حالا برای هر دستور رایت یک مقدار بازگشتی دریافت خواهیم کرد. پس میتوان با connect سیگنال readyRead با یک اسلات به صورت کد زیر این مقدار بازگشتی رو ذخیره کرد: connect(port,SIGNAL(readyRead()),this,SLOT(MySlot())); QByteArray b = port->readAll(); QFile file("e:/test/raw.bin"); if(!file.open(QIODevice::WriteOnly | QIODevice::Append))return; file.write(b); file.flush(); file.close(); حالا اگر بخواهیم مقدار بازگشتی رو از دستور رایت مشخصی دریافت کنیم ، شیوه صحیح کار چطور است؟
  18. کامبیز اسدزاده

    محیط یکپارچه توسعه نرم‌افزار Qt Creator

    نگارش 4.8.1

    44 دریافت

    محیط‌های توسعه مختلفی برای (بسته ابزار) تولکیت Qt وجود دارد که اکثراً توسط برنامه‌نویسان علاقه‌مند به‌این تولکیت ایجاد شده‌اند. جدیدترین محیط توسعه‌این تولکیت Qt Creator نام دارد. این محیط همراه با نرم‌ افزارهای دیگری برای راحتی کار با لینوکس عرضه می‌شود از جمله Assisstant که یک مجموعه از کاربردها و طرز استفاده از کتابخانه‌های کیوت، Examples and Demos که مثال‌هایی برای آشنایی هر چه بیشتر با کیوت است، زبان‌شناسی که برنامه‌ای به منظور ترجمه‌ی نرم‌افزارهای نوشته شده به‌این زبان و یا ساخت نرم‌افزارهای چند زبانه با سادگی هر چه تمام تر است و مهم تر از همه QtDesiner که نرم‌افزاری برای طراحی رابط‌های کاربری با استفاده از ویجت (دکمه، کادر متن و...) های از پیش طراحی شده است. همچنین توسط افزونه‌هایی که برای این کتابخانه نوشته شده است شما می‌توانید از محیط هایی مانند Visual Studio نیز استفاده نمایید. مهم ترین ویژگی این برنامه‌این است که برنامه‌های نوشته شده با این IDE قابلیت اجرا و پشتیبانی در طیف وسیعی از سیستم‌عامل‌ها نظیر ویندوز، لینوکس، مک و حتی تلفن های همراه نظیر سیتسم عامل سیمبین را داراست و یکی از نکات مهم این نرم افزار پشتیبانی از زبان‌های برنامه‌نویسی نظیر QML, CSS & JavaScript است. آخرین اطلاعات و مباحث مرتبط با اخبار، به‌روز‌رسانی‌ها و سوالات مرتبط با این محیط توسعه در این بخش می‌باشد. ویژگی‌های اخیر در این محیط توسعه

    رایگان

  19. با سلام خدمت اساتید محترم. اگر پروژه ای که در کیوت ساختیم رو بخواییم از کلاس های QThread و QTimer استفاده کنیم ، در چه بخش هایی از پروژه باید استفاده کنیم؟ با توجه به جستجویی که داشتم هیچ از یک منابع به طور کامل و جامع توضیح ندادند که در پروژه های کیوت در چه قسمت هایی باید از QThread استفاده شه و در چه قسمت هایی از QTimer ! هدف من از این سوال این هست که در حین انجام یک پروسس از کدام کلاس باید استفاده کرد که ui هنگ نکنه! از اساتید محترم تقاضا دارم کامل این مشکل رو توضیح بدن با تشکر فراوان.
  20. استخدام برنامه نویس qt با سی پلاس پلاس در تهران کار بصورت حضوری و حضور در شرکت از ساعت 11 الی 19 الزامی میباشد. حقوق و مزایا بصورت توافقی و با عقد قرار داد رسمی خواهد بود تسلط در ارتباط یا دیتابیس و در اجرای کد های at commond و کار با پورت ها و com ها و البته کار با QT الزامی میباشد. 09355390237 09118709982 شرکت در جمهوری واقع شده است.
  21. قاسم رمضانی منش

    با سلام ! بعد از نصب بسته های Qt 3D Studio 2.2.0 و Qt 3D Studio Runtime 2.2.0 با استفاده از نصاب آنلاین ; برنامه را در دایرکتوری Qt/Qt3DStudio-2.2.0/bin اقدام به اجرای برنامه کردم : [ghasem@clibcore bin]$ ./Qt3DStudio برنامه با Log زیر ، لحظه ای اجرا و بعد بسته میشود : [ghasem@clibcore bin]$ ./Qt3DStudio qt3ds.trace_info: Studio: "/home/ghasem/Software/Qt/Qt3DStudio-2.2.0/bin/Qt3DStudio" qt3ds.trace_info: Version: "2.2.0" static QSurfaceFormat CWGLRenderContext::selectSurfaceFormat(QOpenGLWidget*) selected surface format: QSurfaceFormat(version 3.3, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DefaultSwapBehavior, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::CoreProfile) Warning: Setting a new default format with a different version or profile after the global shared context is created may cause issues with context sharing. libpng warning: iCCP: known incorrect sRGB profile static QSurfaceFormat CWGLRenderContext::selectSurfaceFormat(QOpenGLWidget*) selected surface format: QSurfaceFormat(version 3.3, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DefaultSwapBehavior, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::CoreProfile) Warning: Setting a new default format with a different version or profile after the global shared context is created may cause issues with context sharing. Segmentation fault (core dumped) طبق گفته سایت مربوطه حداقل نیاز OpenGL ورژن 3.3 هست. مشخصات نسخه ای که من استفاده میکنم : OpenGL vendor string: nouveau OpenGL renderer string: NVA8 OpenGL core profile version string: 3.3 (Core Profile) Mesa 18.2.4 OpenGL core profile shading language version string: 3.30 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 3.1 Mesa 18.2.4 OpenGL shading language version string: 1.40 OpenGL context flags: (none) OpenGL ES profile version string: OpenGL ES 3.0 Mesa 18.2.4 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00 مشخصات پلتفرم : OS : Fedora release 29 (Twenty Nine) x86_64 Kernel : 4.19.4-300.fc29.x86_64 GPU : NVIDIA NVS 3100M Qt : 5.11.2 - 5.12.0 آیا پیشنیاز دیگه ای برای نصب نیاز هست ؟
  22. GornerLabo

    سلام و وقت بخیر. میخواستم در Qt Widget برای ویندوز نرم افزاری بسازم . اما در طراحی ui باید پنجره برنامه ( دکمه های close و minimize , restore down ) حذف بشن ودکمه هایی با طراحی جدید جایگزین بشن. مانند شکل زیر (گزینه 1 در تصویر) لینک تصویر و یک سوال دیگری در مورد همین تصویر داشتم. با توجه به گزینه 2 در تصویر به جز QTabWidget آیا کلاس دیگری هست برای طراحی ui به این سبک؟
  23. سلام، بنابر درخواست اعضای محترم لازم شد آموزشی در رابطه با نحوه‌ی افزودن کتابخانه‌های دیگر به این محیط را توضیح دهیم. من در این آموزش کتابخانه‌ی Poco را در نظر گرفته ام. کتابخانه را دانلود کرده و در یک مسیر مشخص اضافه کنید. برای مثال C:/MyLib/poco-1.9.0-all و یا در لینوکس و مک در مسیر /Users/{username}/Documents/Libs/poco-1.9.0-all در نظر داشته باشید که هر کتابخانه‌ای معمولاً دارای دو پوشه lib و include خواهد بود که شما باید این دو را به پروژه‌ی خود اضافه کنید. هر کتابخانه‌ای باید قبل از کامپایل پیکربنی شده و سپس بیلد شود. برای مثال در کتابخانه‌ی پوکو دستورات زیر را بعد از دریافت اجرا خواهیم کرد. cd /Users/username/Documents/Libs/poco-1.9.0-all سپس دستور ./configure و بعد از آن دستور make را اجرا کنید تا کتابخانه شروع به کامپایل شدن کند. بعد از کامپایل در پوشه‌ی lib تمامی کتابخانه‌ها ایجاد خواهند شد. وارد محیط Qt Creator شده و سپس بعد از ایجاد یک پروژه بر روی آن راست کلیک و گزینه‌ی add library را انتخاب کنید. سپس گزینه‌ی External library را انتخاب نمایید. در مرحله‌ی بعد فایل libPocoFoundation.60.dylib و libPocoNet.60.dylib را در بخش library file و سپس مسیر include آن را در include path وارد کنید که مشابه مسیر زیر خواهد بود. Library file : /Users/kambiz/Documents/Libs/poco-1.9.0-all/lib/Darwin/x86_64/libPocoFoundation.60.dylib Include path : /Users/kambiz/Documents/Libs/poco-1.9.0-all/Foundation/include Library file : /Users/kambiz/Documents/Libs/poco-1.9.0-all/lib/Darwin/x86_64/libPocoNet.60.dylib Include path : /Users/kambiz/Documents/Libs/poco-1.9.0-all/Net/include بعد از افزودن کسیر و کتابخانه کُد تولید شده در فایل .pro به صورت زیر خواهد بود: win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../Libs/poco-1.9.0-all/lib/Darwin/x86_64/release/ -lPocoFoundation.60 else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../Libs/poco-1.9.0-all/lib/Darwin/x86_64/debug/ -lPocoFoundation.60 else:unix: LIBS += -L$$PWD/../../Libs/poco-1.9.0-all/lib/Darwin/x86_64/ -lPocoFoundation.60 INCLUDEPATH += $$PWD/../../Libs/poco-1.9.0-all/Foundation/include DEPENDPATH += $$PWD/../../Libs/poco-1.9.0-all/Foundation/include win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../Libs/poco-1.9.0-all/lib/Darwin/x86_64/release/ -lPocoNet.60 else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../Libs/poco-1.9.0-all/lib/Darwin/x86_64/debug/ -lPocoNet.60 else:unix: LIBS += -L$$PWD/../../Libs/poco-1.9.0-all/lib/Darwin/x86_64/ -lPocoNet.60 INCLUDEPATH += $$PWD/../../Libs/poco-1.9.0-all/Net/include DEPENDPATH += $$PWD/../../Libs/poco-1.9.0-all/Net/include مراحل افزودن به پایان رسید، وارد محیط کیوت شده و داخل فایل main.cpp هدر‌های مرتبط با کتابخانه و همچنین کُد آزمایشی آن را اضافه کنید. در این مثال من از کتابخانه‌ی Net استفاده می‌کنم. //Qt Lib #include <QCoreApplication> //STL & External Lib #include "Poco/Net/SocketAddress.h" #include "Poco/Net/StreamSocket.h" #include "Poco/Net/SocketStream.h" #include "Poco/StreamCopier.h" #include <iostream> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); Poco::Net::SocketAddress sa("www.iostream.ir", 80); Poco::Net::StreamSocket socket(sa); Poco::Net::SocketStream str(socket); str << "GET / HTTP/1.1\r\n" "Host: www.iostream.ir\r\n" "\r\n"; str.flush(); Poco::StreamCopier::copyStream(str, std::cout); return a.exec(); } برنامه را کامپایل و اجرا کنید
  24. با سلام و وقت بخیر. فرض کنید برنامه دکمه ای داره که با کلیک بر روی دکمه یه سری عملیات و در کل پروسه ای انجام میشه. این پروسه اگر در thread انجام بشه ، از هنگ کردن ui برنامه جلوگیری میکنه. پروسه ای که انجام میشه برای نمایش درصد پیشرفتش باید از یک QProgressBar کمک بگیره! پس با این حساب در thread نیاز به آپدیت این Progress Bar هست که باید عرض کنم time انجام پروسه مشخص نیست . این مشکل به چه نحوی حل خواهد شد؟ با تشکر از اساتید محترم
  25. عبدالرحمان آزادی

    سلام ... تو فعال سازی اسپلش واسه اندروید به مشکل خوردم . البته کلی لینک رو هم گشتم و همه یه روش رو میگن که جواب هم نمیده. میگن باید تو فایل AndroidManifest.xml از قسمت اسپلش این کار و کنیم . کاشف به عمل اومده قبلا تو سایت یه پست بوده واسه اسپلش و نسخه ی جدید پاک شده . اگه مقدور هست اضافه بشه . ممنون ...
×