نمودارهای QT باعث ایجاد رابط های کاربری شیک ، تعاملی ، داده می شود. نمودارهای QT برای سهولت ادغام از چارچوب نمایش گرافیک استفاده می کنند. اجزای نمودار می توانند به عنوان اشیاء QWidget یا QgraphicsWidget یا انواع QML استفاده شوند.

کلاس Qchart بازنمایی گرافیکی انواع مختلف سری و سایر اشیاء مرتبط با نمودار مانند افسانه و محورها را مدیریت می کند. Qchart یک qgraphicswidget است که می تواند در یک qgraphicsscene نشان داده شود. یک راه حل ساده تر نمایش یک نمودار در یک طرح با استفاده از کلاس راحتی QChartview به جای QChart است. در QML ، نمودارها با استفاده از نوع ChartView نمایش داده می شوند.
برخی از مؤلفه های نمودار همچنین می توانند با استفاده از کلاس QPolarchart که تخصص کلاس QChart یا نوع Polarchartview QML است که تخصصی از نوع ChartView است ، به عنوان نمودارهای قطبی ارائه شود.
نگاه و احساس نمودارها را می توان با استفاده از مضامین ، اصلاح رنگ ها و خصوصیات ، مخفی کردن قطعات نمودار یا نمودارهای انیمیشن سفارشی کرد.
نقشه برداران مدل با استفاده از یک مدل داده حاصل از کلاس QABStractItemModel به عنوان منبع داده برای یک نمودار فعال می شوند. نقشه برداران مدل می توانند به صورت افقی یا عمودی باشند.
انواع نمودار
ماژول نمودارهای QT انواع نمودار زیر را ارائه می دهد:
- نمودارهای خط و اسپلین
- نمودارهای منطقه و پراکندگی
- نمودار میله
- نمودارهای پای
- نمودارهای جعبه و ویسکرها
- نمودارهای شمعدانی
- نمودارهای قطبی
هر نوع نمودار توسط یک کلاس QABStractSeries مشتق شده یا چکیده های مشتق شده در QML نشان داده شده است. نمودارها با استفاده از نمونه ای از یک کلاس سری و اضافه کردن آن به نمونه Qchart یا ChartView ایجاد می شوند.
qlineseries*سلسله= جدید qlineseries() ؛سلسله->اضافه کردن(0, 6) ؛سلسله->اضافه کردن(2, 4); ...نمایشگاه->چارت سازمانی()->AddSeries (سری) ؛نمایشگاه->چارت سازمانی()->CreateFaultAxes () ؛
واردات qtquick 2. 0 qtcharts 2. 0نمایشگاه <عرض: 400 قد: 300 موضوع: نمایشگاه.ChartThemeBrownsand ضد الیاف: درست است، واقعی کلوپ <id: کلوپ پیلس <برچسب: "خورده شده"; ارزش: 94. 9> پیلس <برچسب: "هنوز خورده نشده است"; ارزش: 5.1>>>
می توانید انواع مختلف سری را در یک نمودار ترکیب کنید.
نمودارهای خط و اسپلین
نمودارهای خط و spline داده ها را به عنوان یک سری از نقاط داده متصل به خطوط ارائه می دهند. در یک نمودار خط ، نقاط داده توسط خطوط مستقیم متصل می شوند ، در حالی که در یک نمودار spline آنها توسط یک اسپلین متصل می شوند. Spline با استفاده از QPainterPath ترسیم می شود.


نمودار خط با استفاده از کلاس Qlineseries یا نوع QML خطوطی اجرا می شود.
نمودار Spline با استفاده از کلاس qsplineseries که به ارث می برد qlineseries یا نوع splineseries که به ارث می برد ، اجرا می شود.
برای اطلاعات بیشتر ، به مثال LineChart ، مثال SplineChart و مثال Spline پویا مراجعه کنید. برای نمونه ای از ترکیب نمودار خط با نمودار نوار و استفاده از یک محور مشترک برای هر دو ، به عنوان مثال خط و بارچارت مراجعه کنید.
نمودارهای منطقه و پراکندگی
نمودارهای منطقه داده ها را به عنوان منطقه ای محدود شده توسط دو خط ارائه می دهند ، در حالی که نمودارهای پراکندگی داده ها را به عنوان مجموعه ای از نقاط ارائه می دهند.


نمودار منطقه با استفاده از کلاس Qareaseries یا نوع QML Arriceseries اجرا می شود. به طور پیش فرض ، محور x به عنوان یک مرز و qlineseries یا خطوط به عنوان دیگری استفاده می شود. با این حال ، شما می توانید از qlineseries یا خطوط به عنوان هر دو مرز استفاده کنید.
نمودار پراکندگی با استفاده از کلاس QScatterSeries یا نوع QML ScatterSeries اجرا می شود.
نمودار میله
نمودار نوار داده ها را به عنوان میله های افقی یا عمودی ارائه می دهد که بر اساس گروه گروه بندی می شوند. کلاس Qbarset و نوع QML Barset یک مجموعه از میله ها را در یک نمودار نوار نشان می دهد. کلاس QABSTRACTBARSERIES یک کلاس والدین انتزاعی برای کلیه کلاسهای سری نوار است و نوع AbstractBarseries نوع والدین انواع سری نوار است. نوع سری نحوه ارائه داده ها را تعیین می کند.
کلاس QBarseries و نوع Barseries QML داده ها را به عنوان میله های عمودی گروه بندی شده بر اساس گروه ارائه می دهند. به طور مشابه ، کلاس qhorizontalbarseries و نوع QML افقی داده ها داده ها را به عنوان میله های افقی ارائه می دهند.


کلاس QStackedBarseries و نوع StackedBarseries مجموعه ای از داده ها را به عنوان میله های انباشته عمودی ، با یک نوار در هر گروه ارائه می دهند. کلاس و نوع افقی مربوطه به ترتیب qhorizontalstackedbarseries و به ترتیب افقی است.


کلاس qpercentbarseries و نوع qml درصد درصد مجموعه ای از داده های طبقه بندی شده را به عنوان درصدی از هر دسته ارائه می دهد. کلاس و نوع افقی مربوطه به ترتیب qhorizontalpercentbarseries و افقی است.


نمودارهای پای
نمودارهای پای داده ها را به عنوان پای ارائه می دهند که از برش های پای تشکیل شده است. پای با استفاده از کلاس qpieseries یا نوع pieseries qml اجرا می شود و برش های پای با استفاده از کلاس qpieslice یا نوع pieslice qml اضافه می شوند.
با مشخص کردن اندازه سوراخ بین 0. 0 تا 1. 0 می توان پای را به یک شیرینی تبدیل کرد.


نمودارهای جعبه و ویسکرها
نمودارهای جعبه و ویسکرها داده ها را به عنوان کوارتل هایی که با ویسک ها گسترش می یابد ، نشان می دهد که تنوع مقادیر را نشان می دهد. موارد موجود در سری Plot بر اساس طبقه بندی ، به طور مشابه با مجموعه های نوار در سری های نوار گروه بندی می شوند. برای هر مورد جعبه و whiskers ، مقدار پایین ، کوارتیل پایین ، میانگین ، کوارتیل فوقانی و فوقانی فوقانی مشخص شده است.
نمودار جعبه و ویسکر با استفاده از کلاسهای QboxPlotseries و Qboxset یا انواع جعبه های جعبه و جعبه های QML اجرا می شود.

نمودارهای شمعدانی
Candlestick Charts مجموعه ای از داده ها را نشان می دهد که به عنوان شمعدان نشان داده شده است.

نمودار شمعدانی با استفاده از کلاسهای QCANDLESTICKSERIES و QCANDLESTICKSET یا CANDLESTICKSERIES و CANDLESTICKSET QML اجرا می شود.
نمودارهای قطبی
نمودارهای قطبی داده ها را در یک نمودار دایره ای ارائه می دهند ، جایی که قرار دادن داده ها بر اساس زاویه و فاصله از مرکز نمودار ، قطب است.

کلاس QPolarchart تخصص کلاس Qchart است. این سریال از خط ، spline ، منطقه و سری پراکندگی و همچنین تمام انواع محور پشتیبانی شده توسط آنها پشتیبانی می کند. محور می تواند به صورت شعاعی یا محور زاویه ای استفاده شود. در QML ، نوع مربوطه polarchartview است.
محورها
نمودارهای QT از انواع محور زیر پشتیبانی می کند:
- محور ارزش
- محور رده
- محور دسته بندی نوار
- محور تاریخ زمان
- محور ارزش لگاریتمی
یک محور را می توان تنظیم کرد تا خطی با علائم تیک ، خطوط شبکه و سایه ها نشان دهد. مقادیر موجود در محور در موقعیت های علائم کنه ترسیم می شود. تمام انواع محورها تخصصی از کلاس QABSTRACTAXIS یا نوع QML AbstractAxis هستند.
یک محور ارزش مقادیر واقعی را به محور نمودار اضافه می کند. این کار با استفاده از کلاس QValuEaxis یا نوع ValueAxis QML اجرا می شود.
یک محور دسته بندی با استفاده از کلاس QCategoraxis یا نوع qml رده quatoryaxis اجرا می شود. این محدوده ها و عرض های دامنه قابل تنظیم را نامگذاری کرده است.
محور دسته نوار شبیه به یک محور دسته است ، اما عرض دامنه برای همه محدوده ها یکسان است. محور دسته نوار با استفاده از کلاس QBarCategoraxis یا نوع Barcategoraxis QML اجرا می شود.
یک محور تاریخ تاریخ و زمانها را به محور نمودار اضافه می کند. با استفاده از کلاس QDateTimeAxis یا نوع DateTimeAxis QML اجرا می شود.
یک محور لگاریتمی یک مقیاس لگاریتمی را به محور نمودار اضافه می کند. مقیاس لگاریتمی یک مقیاس غیرخطی است که مبتنی بر سفارشات بزرگی است ، به طوری که هر علامت تیک در محور علامت تیک قبلی است که با یک مقدار ضرب می شود. یک محور لگاریتمی با استفاده از کلاس qlogvalueaexis یا نوع Logvalueaxis QML اجرا می شود.
محورهای متعدد را می توان برای یک نمودار تعریف کرد. محورها را می توان در پایین ، بالا ، چپ یا راست نمودار قرار داد. علاوه بر این ، محورها می توانند از انواع مختلفی باشند. با این حال ، مخلوط کردن انواع محور که منجر به دامنه های مختلف می شود ، پشتیبانی نمی شود ، مانند مشخص کردن qvalueaxis و qlogvalueaexis در همان جهت گیری.
افسانه
افسانه یک شیء گرافیکی است که افسانه یک نمودار را نشان می دهد. اشیاء افسانه نمی توانند ایجاد یا حذف شوند ، اما می توان آنها را از طریق کلاس Qchart یا نوع ChartView QML ارجاع داد. حالت Legend هنگام تغییر سری توسط QChart یا ChartView به روز می شود.
یک افسانه را می توان در زیر یا بالاتر از نمودار و همچنین سمت چپ یا راست آن قرار داد. به طور پیش فرض ، افسانه به نمودار نمودار وصل می شود ، اما می تواند به یک مورد گرافیکی جداگانه جدا شود که می تواند آزادانه به آن منتقل شود.
می توان نشانگرهای فردی را از افسانه یا کل افسانه پنهان کرد.
نشانگرهای افسانه را می توان با استفاده از کلاس پایه QlegenDmarker و زیر کلاس ها برای هر نوع سری اصلاح کرد: QareAlegendMarker ، QbarlegendMarker ، QboxPlotlegendMarker ، QcandLestickLegendMarker و QxyleGendmarker.
در QML ، نشانگرهای افسانه را می توان با ایجاد افسانه های سفارشی اصلاح کرد ، همانطور که توسط مثال افسانه سفارشی QML نشان داده شده است.
تعامل با نمودارها
کاربران نهایی می توانند با اضافه کردن پویا مقادیر به آنها ، حفر کردن به داده ها ، زوم کردن به داخل و خارج از نمودارها ، نمودارهای پیمایش و کلیک بر روی موارد در نمودارها یا معلق کردن ماوس بر روی آنها ، با نمودارها ارتباط برقرار کنند.
ترسیم داده ها به صورت پویا
می توان داده ها را به صورت پویا به نمودارها اضافه کرد و برای نمایش داده های جدید به طور خودکار پیمایش نمودار نمودار را انجام داد.
حفاری به داده ها
به عنوان مثال می توان جلوه های حفاری را به نمودارهای نوار یا پای پیاده سازی کرد. هنگامی که کاربران یک مورد را در نمودار انتخاب می کنند ، نمای دقیق تر از مورد نمایش داده می شود. این با حذف سری اول و اضافه کردن یکی دیگر اجرا می شود.
بزرگنمایی و پیمایش
کاربران می توانند از صفحه کلید برای بزرگنمایی و پیمایش استفاده کنند. آنها می توانند با استفاده از کلیدهای Arrow با استفاده از کلیدهای Plus و Minus ، نمودارها را با استفاده از کلیدهای فلش و زوم به داخل یا خارج از نمودارها بکشند. علاوه بر این ، از Qrubberband می توان برای انتخاب منطقه برای بزرگنمایی استفاده کرد.
در دستگاه های لمسی ، از حرکات می توان برای پانزده و بزرگنمایی استفاده کرد.
برای اطلاعات بیشتر ، به مثال خط بزرگنمایی مراجعه کنید.
کلیک و شناور
می توانید شکاف ها را به سیگنال های منتشر شده در هنگام کلیک بر روی کاربران نهایی در نمودارها وصل کنید و یا ماوس را روی آنها شناور کنید. این به شما امکان می دهد عناصر مانند فراخوانی ها را به نمودارها اضافه کنید.
برای اطلاعات بیشتر ، به مثال Callout مراجعه کنید.
مضامین
یک موضوع یک مجموعه داخلی از تنظیمات مربوط به سبک UI است که برای تمام عناصر بصری یک نمودار مانند رنگ ، قلم ، برس و قلم های سری و همچنین محورها ، عنوان و افسانه اعمال می شود.

نمودارهای QT با مضامین از پیش تعریف شده زیر همراه است:
- تم نور ، که موضوع پیش فرض است
- تم آبی Cerulean
- تم تاریک
- تم قهوه ای شن و ماسه
- موضوع رنگ طبیعی (NCS) موضوع آبی
- تم کنتراست بالا
- تم آبی یخی
- موضوع qt
مضامین را می توان با تغییر رنگ ها ، قلم ها ، برس ها و قلم ها تنظیم کرد. مضامین جدید را می توان با اصلاح کد منبع QT Charts اضافه کرد.
توجه: تغییر موضوع ، کلیه سفارشی سازی ها را که قبلاً در این سریال اعمال شده بود ، بازنویسی می کند.
برای اطلاعات بیشتر ، به مثال مضامین نمودار مراجعه کنید.
© 2023 شرکت Qt Ltd. Ltd. مشارکتهای مستندات موجود در اینجا کپی رایت صاحبان مربوطه آنها است. مستندات ارائه شده در اینجا تحت شرایط مجوز مستندات رایگان GNU نسخه 1. 3 که توسط بنیاد نرم افزار رایگان منتشر شده است ، مجوز دارد. QT و آرم های مربوطه علائم تجاری شرکت QT Ltd. در فنلاند و/یا سایر کشورها در سراسر جهان هستند. کلیه علائم تجاری دیگر متعلق به صاحبان مربوطه است.
فارکس به زبان ساده...
ما را در سایت فارکس به زبان ساده دنبال می کنید
برچسب :
نویسنده : طاهره ایرانی
بازدید : <-PostHit->
تاريخ : شنبه
21 مرداد
1402 ساعت: 18:52