رفتن به مطلب
مرجع رسمی سی‌پلاس‌پلاس ایران

کامبیز اسدزاده

بنیـــان گذار
  • تعداد ارسال ها

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

  • روز های برد

    266

پست ها ارسال شده توسط کامبیز اسدزاده


  1. در 39 دقیقه قبل، mohammad_0111 گفته است :

    سلام.وقتتون بخیر.
    من مدتی هست که با کتابخانه Qt کارمیکنم و از فناوری Qt Quick استفاده میکنم.مشکلی که دارم مشکل واکنش گرا کردن سایز متن هست این اصلی ترین مشکل من در طراحی با QML است. کتاب استاد اسد زاده رو نیز تهیه کردم ولی درمورد واکنش گرا بودن توضیح کم بود و نتونستم مثال کاربردی و درکل درکی از این موضوع داشته باشم.
    ممنون میشم اگر این موضوع و نحوه ریسپانسیو کردن سایز متن رو کسی توضیح بده.
    اگر با مثال باشه خیلی عالی میشه?

    سلام،

    در مورد مسئلهٔ واکنش‌گرا بودن در کیون ۵.۱۴ به بعد این مشکل حل شده است و نیازی برای نگرانی وجود ندارد.

    در صورت مشاهدهٔ مسئله خاصی این کد می‌تواند مشکل را حل کند:

    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);

     

    • پسندیدن 1

  2. در در 26 فروردین 1400 در 01:21، amirb گفته است :

    با سلام

    در qt quick 5.15 با استفاده از filedialog فایلی رو انتخاب کردم ولی متاسفانه آدرس اون فایل (خروجی fileUrl) به صورت زیر هست:

    content://com.android.providers.media.documents/document/14.mp4

    چطور می تونم اون رو به آدرسی تبدیل کنم که به عنوان source در mediaplayer بتونم قرار بدم؟

    نسخه ی اندروید ۱۰ است.

    سلام،
    قبلاً برای این کار نیاز بود که با کلاس QAndroidJniObject کار کنید و مسیر صریحش رو به دست بیارید.

    اما از نسخهٔ ۵.۱۵ مسیر صریحش رو بر می‌گردونه، کافیه به شیوهٔ زیر از مسیر‌های استاندارد استفاده کنید:

    نسخهٔ QML

        FileDialog {
            id: fileDialog
            title: "Choose File Attachment"
            folder: StandardPaths.writableLocation(StandardPaths.PicturesLocation)
           ...
    
        }

    نسخهٔ ++C

    const QStringList picturesLocations = QStandardPaths::standardLocations(QStandardPaths::PicturesLocation);
    QFileDialog dialog;
    dialog.setDirectory(picturesLocations.last());

     


  3. در 1 ساعت قبل، TheDevileytion گفته است :

    سلام مجدد

    این مورد رو  دیده بودم ، اما جهت استفاده در کیوت ویجت مدنظرم هست.

    کلاس رو میسازم ، اما در مثال در فایل main.cpp 

    یک شی از QQuickView ساخته و یک شی از کلاس نوتیفیکیشن

    کلاس نوتیفیکشن رو از طریق متد ()setContextProperty       ست کرده ، حالا این در qml هست

    منتها در مورد ویجت چطور؟

    این قسمت اتصالش رو درگیر هستم ، مثلا روی یک QPushButton وقتی کلیک بشه ، یک شی از کلاس نوتیفیکشن ساخته و نمایش داده بشه.

    خب در این صورت کافیه یکی از روش‌های زیر و یا دیگر روش‌ها را برای نمونه سازی از کلاس NotificationClient به کار بگیرید:

    NotificationClient notificationClient;
    notificationClient.setNotification("Hello, World!");
    QScopedPointer<NotificationClient> notificationClient(new NotificationClient());
    notificationClient->setNotification("Hello, World!");
    
    std::unique_ptr<NotificationClient> notificationClient;
    notificationClient->setNotification("Hello, World!");

     


  4. در 40 دقیقه قبل، TheDevileytion گفته است :

    با سلام

    در خصوص ایجاد یک notification در اندروید متاسفانه توضیحات کاملی موجود نیست مگر مثال خود کیوت که باز هم گنگ هست.

    اگر از دوستان کسی تجربه ساخت نوتیفیکیشن رو داره راهنمایی بفرماید ممنون میشم.

    درود،
    به روش‌های متفاوتی می‌تونید این کار رو انجام بدین.

    در دسترس‌ترین روش که در مستندات کیوت هم موجود است فراخوانی از طریق QAndroidJni هستش که در زیر مثال واضحی دارد.

    https://doc.qt.io/qt-5/qtandroidextras-notification-example.html

    همچنین روش دیگری هم وجود دارد که برای iOS و Android به طریق FireBase می‌تونید از این ویژگی استفاده کنید.

    https://firebase.google.com/docs/cpp/setup

    نسخهٔ اندروید : https://firebase.google.com/docs/cpp/setup?platform=android

    نسخهٔ آی‌او‌اس : https://firebase.google.com/docs/cpp/setup?platform=ios


  5. چه خبره دوست عزیز، این چیزی که شما فرستادین ظاهراً مربوط به یک پروژهٔ OpenSim هست و خارج از حوصلهٔ من خواهد بود که ۱۰۰۰ خط کد رو بررسی کنم.

    لطف کنید این لینک رو بررسی کنید آموزش نحوهٔ ساختش رو داده https://github.com/opensim-org/opensim-core#building-from-the-source-code


  6. در ۱ ساعت قبل، sh-hsnzadeh گفته است :

    با سلام 

    بنده فایل هایی در cmake ایجاد کردم و در visual studio ساخت و نصب کردم، اما هنگام اجرا کد، نمی تونه فایل ها رو باز کنه.

    در دایرکتوری هم مسیر فایل ها ایجاد شده ولی این خطا رو میده:

     "       " cannot open source file 

    . چطور میشه این خطا رو رفع کرد؟

    محتوای درون فایل CMakeLists.txt اینجا قرار دهید تا بررسی شود.


  7. در ۱ ساعت قبل، sh-hsnzadeh گفته است :

    با سلام و وقت بخیر

    چگونه identifier جدیدی در ++visual studio C تعریف کنیم؟


    Error (active)    E0020    identifier "mexPrintf" is undefined

    Error (active)    E0020    identifier "vector" is undefined

    Error (active)    E0020    identifier "mxArray" is undefined

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

    پیشنهاد می‌کنم مقالات زیر را در مورد سی‌پلاس‌پلاس مطالعه کنید.

     

     

     


  8. در 1 ساعت قبل، sh-hsnzadeh گفته است :

    با سلام

    این خطا رو چطور میشه رفع کرد؟


    ifndef _CXX0X_WARNING_H#
    1 define _CXX0X_WARNING_H #

    if __cplusplus < 201103L#
    #error This file requires compiler and library support for the \#
    ISO C++ 2011 standard. This support is currently experimental, and must be \#
    enabled with the -std=c++11 or -std=gnu++11 compiler options
    endif#

    endif#

    این که خطا نیست، ماکروست!

    یکجور شرط هست، برای این نوشته شده که وقتی کامپایلر شما استاندارد ۱۱ رو پشتیبانی نکنه پیام خطا بده!

    و الآن هم ظاهراً از کامپایلر و محیطی استفاده می‌کنید که برای عصر یخبندانه.

    توضیه می‌کنم از کامپایلر‌های جدید استفاده کنید.


  9. در 22 ساعت قبل، Ali71321 گفته است :

    خسته نباشید

    در محیط Qt Creator ساده ترین راه گزارش سازی چی هستش ؟

    ورژن Qt Creator  5.14 و دیتا روی SQL Server  هستش مثلا من میخوام اطلاعات یک فاکتور مثلا فاکتور فروش 

    و در قالب دلخواه چاپ بگیرم و در صورت امکان قبل از چاپ،پیش نمایش چاپ هم قابل رویت باشه

    برخی سایت ها ابزار QtRPT و معرفی کردن محیط ساده ای داره ولی نحوه ایجاد پلاگین و ایجاد اتصال به پروژه در محیط Qt

    برام خیلی مبهم هستش.

    پیشاپیش از راهنمایی بزرگواران سپاسگزارم.

    سلام،

    گزینه‌های زیر را هم بررسی کنید :


  10. در 1 دقیقه قبل، smsn گفته است :

    الان باید چیکار کنم؟؟

    چگونه کامپایلر را وقتی نصب تعیین کردم، به حالت auto detect ببرمش؟

    سادست، ویژوال استودیو حداقل نسخهٔ ۲۰۱۷ را نصب کنید.

    بعد از نصب آن، کیوت را نصب کنید به صورت خودکار کیت‌ها را شناسایی خواهد کرد.

     


  11. در 1 دقیقه قبل، smsn گفته است :

    سلام

    خطای من این است که کامپایلر برایش تعریف نشده است
    چگونه تعریف کنم و کدام فایل را انتخاب کنم تا درست بشود کیت هایم

    آخه الان کیت هام خرابه به خاطر نبود کامپایلر

    سوألتون رو با جزئیات بیشتر بپرسید تا بتونیم مسئله را بررس

    پلتفرم (سیستم‌عامل) شما چی هست؟ اگر ویندوز است که باید کیت توسعهٔ ویندوز را نصب کنید. اگر لینوکس یا مک هست که باید به ترتیب gcc و xcode در آن‌ها نصب شود.

    پیشنهاد آخر این که نسخهٔ آخر را به صورت آنلاین نصب نمایید.


  12. در 14 ساعت قبل، smsn گفته است :

    سلام

    من متوجه نشدم

    الان باید برای طراحی شبکه ++C و بک اند، چجوری باید کار کنیم و چه مبحثی را دنبال کنیم؟؟

    درود،

    منظور از این مقاله آموزش ساخت یک وب‌سایت نیست، صرفاً برای اطلاع‌رسانی جهت آشنایی با امکان این کار در سی++ بود.

    برای نحوهٔ کار و ساخت و ساز یک وب‌سایت تحتِ سی‌پلاس‌پلاس در فرصتی مناسب آموزش‌هایی ارائه خواهد شد.


  13. در در 3 اسفند 1399 در 19:20، Mahan.v گفته است :

    ممنون

    اگر حجم را در نظر نگیریم، ایا باز هم منطقی نیست؟

    و اینکه ایا برنامه های بزرگ و با ظاهر زیبا وجود دارد که رابط ان با opengl نوشته شده باشد نه با api های سیستم عامل؟؟ 

    اکثر برنامه‌های زیبایی که در حال حاضر می‌بینید نسبت به نوع سیستم‌عامل و تصمیمات توسعه‌دهنده و منظور استفادهٔ آن توسعه یافته‌اند. بعضی از آن‌ها به صورت کاملاً بومی تحت رابط‌های برنامه‌نویسی خودِ سیستم‌عامل و چهارچوب‌های اختصاصی طراحی شده‌اند، و برخی تحت یک سری کیت‌ها و کتابخانه‌های چندمنظوره.

    • برای مثال، برنامه‌های خالص (نه چند‌سکویی) بومی در سیستم‌عامل ویندوز معمولاً تحتِ رابط‌های برنامه‌نویسی بومی خود ویندوز Win32 Api یا MFC توسعه می‌یابند. رابط‌های برنامه‌نویسی Win32 Api بسیار سطح پایین بوده و استفاده از آن بسیار دشوار است با این مزیت که هر کاری می‌توان با آن انجام داد. نوع MFC را می‌توان به صورت منسوخ شده در نظر گرفت چون در محصولات مدرن دیگه ازش یاد نمیشه.
    • در سیستم‌عامل مک رابط‌های Cocoa برای این منظور نیز ارائه شده‌اند.
    • از طرفی در لینوکس ما رابط‌های برنامه‌نویسی مستقیمی برای ساخت و ساز در کنار هستهٔ سیستم‌عامل نداریم. اما پروتکل‌هایی برای ساخت و ساز این مبحث وجود داره که به نام X Window System شناخته می‌شوند که تحتِ کتابخانه‌هایی مثل GTK، FLTK یا Qt و wxWidgets در سطوح بالا‌تر در دسترس و به راحتی می‌شه باهاشون کار کرد. این گزینه‌ها به صورت چند سکویی هستند و نیازی نیست شما نسبت به هر نوع سیستم‌عامل از اول برنامه‌نویسی انجام دهید.

    مزایای این نوع کتابخانه‌ها بیشتر از آن‌چیزی است که شما فکرش رو می‌کنید.

    پیشنهاد من این است، اگر دیدگاه چند‌منظوره دارید، به جای درگیر شدن با سطوح پایین‌تر از رابط‌های برنامه‌نویسی (صرفاً جهت ساخت رابط‌کاربری) از کتابخانه‌ها و چهارچوب‌های مناسب مانند Qt استفاده کنید. و یا اینکه اگر محدود به یک پلتفرم کار می‌کنید سعی کنید باز هم از رابط‌های سطح‌بالای آن پلتفرم استفاده کنید.

    در ویندوز Win32 تحت دات‌نت، کوکوآ در مک و GTK در لینوکس.

    در در 3 اسفند 1399 در 19:20، Mahan.v گفته است :

    و کلا برتری استفاده از این api ها چیست؟؟

    برتری استفاده از رابط‌های اختصاصی هر یک از سیستم‌عامل‌ها، صرفاً بهینه‌سازی و هماهنگی بسیار بالا و دسترسی به تمامی ویژگی‌های یک پلتفرم است. البته کتابخانه‌هایی مانند Qt نیز در لایه‌های زیرین خودشان هماهنگی‌های لازم را با این رابط‌های برنامه‌نویسی پیاده‌سازی کرده‌اند تا نیازی نباشد شما با آن‌ها درگیر شوید و تا حد قابل قبولی از آن ویژگی‌ها پشتیبانی می‌کنند. بنابراین، از لحاظ این که در همان اندازه کارآیی خواهند داشت هم تا حد بسیاری خیالتان راحت مشکل خاصی پیش نمیاد.

    در در 3 اسفند 1399 در 19:20، Mahan.v گفته است :

    چیزی که من فهمیدم اینه که api ها محاسبات مربوط به ابجکت ها مثل اندازه ،مکان و .. را داخل cpu انجام میدهند و نتجه به کارت گرافیک فرستاده میشه و از اونجا به صفحه نمایش، ولی با opengl این محاسبات هم داخل کارت گرافیک انجام میشه و نیازی به cpu نیست، به نظر من این یک برتری حساب میشه، درسته؟؟ اگر درسته چرا استفاده از opengl عمومی نیست و فقط برای بازی سازی از اون استفاده میشه؟؟

    ممنون میشم یه توضیح بدید که من متوجه تفاوت این دو بشم

    به طور همیشگی خیر، در موارد لزوم از پردازندهٔ مرکزی برای پردازش برخی از مسائل استفاده می‌شود، مانند زمانی که راه‌انداز (درایور) کارت گرافیک قابل شناسایی نباشد و مجبوراً از روش‌های شبیه‌سازیِ رابط استفاده شود که در این صورت از پردازندهٔ مرکزی استفاده خواهد شد.

    از طرفی OpenGL فقط برای بازی‌سازی مورد استفاده قرار نمی‌گیرد، حتی نسخه‌های توسعه‌یافتهٔ آن با عنوان وُلکان را بررسی کنید.

    کتابخانه‌هایی مانند کیوت در صنایع مختلف تمامی کارهای تصویر‌سازی، ساخت فرم، اشیاء و رندرینگ بخش‌های یک برنامه را به لطف OpenGL، Direct3D و امثال آن تولید می‌کنند.

    اخیراً اتفاق خوبی که در مورد کیوت رُخ داده است، این است که نسبت به هر پلتفرم، از راه‌انداز و رابط‌های برنامه‌نویسی اختصاصی همان سیستم‌عامل استفاده می‌کند. برای مثال در ویندوز از Direct3D در مک از Metal و در لینوکس از Vulkan و OpenGL.

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

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


  14. در 10 دقیقه قبل، Ali71321 گفته است :

    روال کار به این صورت هستش :

    راست کلیلک روی اسم پروژه>>Add new>>Qt Designer Form Class>>Main Window>>...

    بعد از انتخاب نام به عنوان login کد مورد نظر اینطوری میشه :

    
    login *log = new Login;
        log.show();

     

    ببینید این قسمت از کد‌ها اصلاً درست نیست! چطور برای شما کامپایل میشه بعید می‌دونم آزمایشش کرده باشید!

    نام فرم و کلاس شما باید Login باشه نه login! حرف L بزرگ مهمه.

    از طرفی log.show() نباید باشه بایدlog->show() باشه به صورت اشاره‌گر!

    بعد شما ظاهراً دارید داخل خود فرم Login دوباره کلاس خود Login رو فراخوانی می‌کنید برای نمایش! خب این درست نیست.

    و اینکه برای یک فرم فرزند دیگه نیازی نیست از MainWindow استفاده کنید، از یک QWidget ارث‌بری کنید.

    کد‌های زیر نمونهٔ صحیح است :

    #ifndef LOGIN_HPP
    #define LOGIN_HPP
    
    #include <QWidget>
    
    namespace Ui {
    class Login;
    }
    
    class Login : public QWidget
    {
      Q_OBJECT
    
    public:
      explicit Login(QWidget *parent = nullptr);
      ~Login();
    
    private:
      Ui::Login *ui;
    };
    
    #endif // LOGIN_HPP
    
    #include "login.hpp"
    #include "ui_login.h"
    
    Login::Login(QWidget *parent) : QWidget(parent), ui(new Ui::Login)
    {
      ui->setupUi(this);
    }
    
    Login::~Login()
    {
      delete ui;
    }
    

    این هم نحوهٔ فراخوانی در پنجرهٔ اصلی (والد) :

    #include "mainwindow.hpp"
    #include "ui_mainwindow.h"
    #include "login.hpp"
    
    MainWindow::MainWindow(QWidget *parent)
        : QMainWindow(parent)
          , ui(new Ui::MainWindow)
    {
      ui->setupUi(this);
    
    }
    
    MainWindow::~MainWindow()
    {
      delete ui;
    }
    
    
    void MainWindow::on_pushButton_clicked()
    {
      Login *log = new Login;
      log->show();
    }
    

    به درستی کار می‌کنه.


  15. نمی‌دونم این رو دقیقاً کجا دارید می‌نویسید، اما طبق نمونه‌ای که گرفتین روش به کار گیری show درست نیست و باید خطا بده

    این رو امتحان کنید :

    Login *login = new Login;
    login->show();

    یک کلاس بسازید با نام Login مثلاً، بعد یک نمونه بگیرید و کد مربوطه رو داخل یک رویدادی مثل کلیک شدن یا بارگذاری فرم قرار بدین.

    نمونهٔ کامل‌تر :

    void MainWindow::on_pushButton_clicked()
    {
      Login *log = new Login;
      log->show();
    }
    

    اگه مشکلی بود هم سعی کنید جزئیات بیشتری ارائه کنید.


  16. در 2 دقیقه قبل، Ali71321 گفته است :

    سلام دوستان خسته نباشید.

    من میخوام به پروژه ام یک فرم جدید اضافه کنم که با کلیک روی یک دکمه باز بشه

    ولی به محض باز شدن بسته میشه.

    راهکار عملی برای این مورد چی میتونه باشه؟

    ممنون.

    درود،

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


  17. درود،

    اگر تنها دلیل شما کم حجم شدن برنامه است، این دلیل کافی نیست و از نظر من منطقی هم نیست.

    مزایای کیوت رو در نظر بگیرید، چند‌سکویی بودن و پشتیبانی از ویژگی‌های متنوع که سال‌هاست خودش رو ثابت کرده. آیا چیزی که می‌خواهید بسازید علاوه بر این ویژگی‌ها موارد دیگری هم به همراه کم حجم‌تر بودن را دارد؟ هرچند حجم برنامه شاید در زمان گذشته بسیار مهم بود، اما اکنون دیگر نیازی برای نگرانی در این باره وجود نداره.


  18. درود،

    پیشنهاد اول این است که از ویژوال استودیوی حداقل ۲۰۱۷ استفاده کنید.

    پیشنهاد دوم این هست بر اساس راهنمای موجود از هر کتابخانه تنظیمات و کامپایل را انجام دهید.

    در پست زیر نیز اشاره‌ای به نحوهٔ افزودن کتابخانه‌ها به محیط VS شده است.

     


  19. در 1 ساعت قبل، Ali71321 گفته است :

    خسته نباشید مهندس.

    نحوه خواندن یک فایل اکسل در Qt  به چه شکلی هستش؟

    پیشاپیش از راهنماییتون ممنونم?

    سپاسگزاریم،

    بهتر بود برای موضوع جدید، یک تاپیک جدید ایجاد می‌کردید.

    به هر حال، این لینک رو بررسی کنید : https://wiki.qt.io/Handling_Microsoft_Excel_file_format


  20. در ۱ ساعت قبل، mohsenzard67 گفته است :

    سلام وقت بخیر..

    من میخوام با qt پایگاه داده mysql ارتباط برقرار کنم، ولی هر کاری کردم وآموزش هم دیدم درست نشد. میشه برم توضیح بدین چطور این کار رو انجام بدم. متشکر.

    سلام،

    قبلاً در این باره سوأل و پاسخ داده شده است.

     


  21. در 2 ساعت قبل، Ali71321 گفته است :

    اگه منظورتون از پوشه نهایی همون مسیر فایل های lib هستش داخل پوشه بوست همون جاییه که کپی کردم که پوشه با نام stage ایجاد کرده

    با استفاده از ابزار qmake 

    منظور از مخازن اصلی سیستم عامل چی هست مهندس؟

    کار زیاد سختی نیست! این لینک رو بررسی کنید و طبق دستورات پیش برید.

    در 2 ساعت قبل، Ali71321 گفته است :

    یه مشکل دیگه هم اینه که نمیتونم با sql server  ارتباط بگیرم همچین اروری بهم میده 

    Error : "[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified QODBC3: Unable to connect"

    و گاهی گاهی وقتا هم driver not loaded

    کلا امکان برقراری ارتباط با sql server  تو محیط Qt  هستش؟

    ممونم میشم راهنمایی کنید.با سپاس

    به خاطر این هست که پلاکین مربوطه را کامپایل نکرده‌اید.

    در 2 ساعت قبل، Ali71321 گفته است :

    کلا امکان برقراری ارتباط با sql server  تو محیط Qt  هستش؟

    بله پشتیبانی می‌کنه.

    این توضیحات رو دنبال کنید و مطابق مثال برای Sql Server انجامش بدین.

     


  22. در 3 ساعت قبل، mahdsamir گفته است :

    با سلام

    من تازه برنامه نویسی ++c رو شروع کردم که از visual sudio و کامپایلر mingw استفاده میکنم. ولی در اولین کاری که شروع کردم با ارور زیر برخورد کردم

    undefined reference to `WinMain@16' collect2.exe: error: ld returned 1 exit status

    لطفاً من رو راهنمایی کنید که مشکل کجاست

    خیلی ممنون

    سلام و خوش آمدید،

    قبل از هر چیز چون تازه کار هستید پیشنهاد می‌کنم در ویندوز به سراغ Mingw نرید، مگر مجبور باشید.

    با همون MSVC برنامه‌های خودتون رو کامپایل کنید و یا Clang.

    در کل، خطایی که گرفتین به خاطر عدم شناسایی تابع اصلی یعنی main() هستش. پیشنهاد می‌کنم تابع خودتون رو اصلاح کنید مطمئن بشید که main در برنامهٔ شما به درستی پیاده شده، سپس کامپایل و نتیجه رو ببینید.

     

    مثال صحیحی از تابع main در سی++

    #include <iostream>
    
    int main() {
        std::cout << "Hello World!";
        return 0;
    }

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

     

    موفق باشید.

     


  23. در در 13 آذر 1399 در 18:12، Ali71321 گفته است :

    @کامبیز اسدزاده متاسفانه به این نسخه ها دسترسی ندارم 

    مشکل اینه که بعد کامپایل شدن پوشه include وجود نداره 

    وقتی میخوام داخل پروژه با  #include  هدر و وارد کنم میشناسه ولی بعد ارور میده

    خب پوشهٔ نهایی بعد از make رو برای install کجا زدی؟

    به چه روشی داری به پروژه اضافش می‌کنی؟ تحتِ چه ابزاری؟ QMake یا CMake؟

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


  24. در 5 ساعت قبل، zahra گفته است :

    سلام

    چطوری می تونم اپلیکیشنی که با qt طراحی کردم رو روی GPU اجرا کنم ؟ آیا این امکان وجود داره که بخش دریافت داده ها از شبکه و پردازش اونها توسط CPU انجام بشه و بخش گرافیکی اون رو از طریق GPU  اجرا کنم ؟ آیا qt این ویژگی رو پشتیبانی می کنه؟

    ممنون

    سلام،

    سوأل شما بسیار کلی هستش، پاسخش می‌تونه بسیار متنوع باشه.

    کیوت در نسخهٔ کنونی و بعد از نسخه‌های ۵.۱۰ می‌تونه بر اساس سفارشی سازی و خودکار کاملاً بر پایهٔ GPU مواردِ گرافیکی را پردازش کنه مثل OpenGL و Direct3D و حتی در نسخه‌های جدید‌تر از Vulkan و Metal که بر اساس نوع پلتفرم پشتیبانی می‌کند.

    نقل قول

    نکته : منظور از پردازش، پردازش‌های گرافیکی مانند ساختار ظاهری، سایه‌زنی، شیدر‌ها و غیره است و نه پردازش‌های مربوط به شبکه و مسائل دیگر.

    به طور کلی در حالت پیشفرض اگر سیستم مقصد دارای پردازندهٔ گرافیکی با پشتیبانی از Api‌هایی که نام بردیم باشد، تمامی بار پردازشیِ گرافیکی جهت رندر بر روی کارت گرافیکی (GPU) خواهد بود. در غیر این صورت اگر فاقد پردازندهٔ گرافیکی باشد، به صورت خودکار بر روی CPU اعمال می‌شود.

    اما نوع دیگری از سوأل شما مرتبط پردازش موازی هستش که پاسخش می‌تونه پیشنهادِ استفاد از مواردی چون سکو‌های Cuda و یا OpenCL است که به شما اجازه میده پردازش‌های لازم رو بر روی پردازندهٔ گرافیکی اعمال کنید.

    • تشکر شده 1
×
×
  • جدید...