نمایش نتایج 1 تا 3 از 3

نام تاپیک: ساخت جدول در qt و ارتباط با داده ها( فوری )

  1. #1

    Exclamation ساخت جدول در qt و ارتباط با داده ها( فوری )

    سلام دوستان
    برای ساخت یک پروژه احتیاج به کمک دارم
    خودم از اموزشهایی که خوندم نتونستم چیزی در بیارم

    پروژه رو دارم به زبان C++‎‎ مینویسم و قصد من ایجاد یک جدول که دو ستون داره و تعداد نامشخصی سطر ( تعداد سطر ها از 100 تجاوز نمیکنه ). باید کاربر بتونه در صورت نیاز به سطر های اون اضافه کنه و اطلاعات رو ذخیره کنه
    همچنین امکان ذخیره جدول و بازگزاری جدول جدید رو داشته باشه


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

  2. #2
    کاربر تازه وارد
    تاریخ عضویت
    خرداد 1393
    محل زندگی
    ubuntu
    پست
    40

    نقل قول: ساخت جدول در qt و ارتباط با داده ها( فوری )

    سلام
    نکته مهم را نگفتید این اطلاعات قرار هست از کجا بیاد؟ من فرض میکنم از دیتابیس
    اول یک کانکشن به دیتابیس بسازید که برنامه متصل به بانک اطلاعاتی باشه.
    بعد از اون میتونید برای پر کردن TableView در ui یا qml که من بیشتر میپسندم یک مدل بسازید.برای ساخت مدل میتونید از دو کلاس استفاده کنید QSqlQuery و کلاس زیر مجموعش QSqlTable
    برای ساخت مدل و مرتبط کردنش با جدول هم یک کلاس جدید بساز

    میتونید از لینک های زیر هم استفاده کنید
    http://qt-project.org/doc/qt-4.8/sql-model.html
    http://www.informit.com/articles/article.aspx?p=1405550

    یک نمونه مدل که خودم استفاده کردم:
    .h

    class BookModel: public QSqlTableModel
    {
    Q_OBJECT
    public:
    explicit BookModel(QObject *parent = 0,QSqlDatabase db =QSqlDatabase());
    QVariant data(const QModelIndex &index, int role=Qt::DisplayRole ) const;
    virtual void setTable ( const QString &table_name );
    virtual QHash<int, QByteArray> roleNames() const;

    private:
    QHash<int, QByteArray> roles;
    void generateRoleNames();

    protected:
    void setQuery(const QSqlQuery &query):
    };


    .cpp

    ModelData::BookModel::BookModel(QObject *parent, QSqlDatabase db)
    :QSqlTableModel(parent,db)
    {
    }

    QVariant ModelData::BookModel::data(const QModelIndex &index, int role) const
    {
    if(index.row() >= rowCount())
    {
    return QString("");
    }
    if(role < Qt::UserRole)
    {
    return QSqlTableModel::data(index, role);
    }

    QModelIndex modelIndex = this->index(index.row(), role - Qt::UserRole - 1 );
    return QSqlQueryModel::data(modelIndex, Qt::EditRole);
    }

    void ModelData::BookModel::setTable(const QString &table_name)
    {
    QSqlTableModel::setTable(table_name);
    generateRoleNames();
    }

    QHash<int, QByteArray> ModelData::BookModel::roleNames() const
    {
    return roles;
    }

    void ModelData::BookModel::generateRoleNames()
    {
    roles.clear();
    for (int i = 0; i < columnCount(); i++)
    {
    roles[Qt::UserRole + i + 1] = QVariant(headerData(i, Qt::Horizontal).toString()).toByteArray();
    }
    }

    void ModelData::BookModel::setQuery(const QSqlQuery &query)
    {
    }

  3. #3

    نقل قول: ساخت جدول در qt و ارتباط با داده ها( فوری )

    ممنون
    جداول از ابتدا خالی هستن و باید کاربر اون رو پر کنه و بتونه ذخیره کنه و در صورت تمایل اون رو بازگزاری کنه

تاپیک های مشابه

  1. ساخت کانکشن اینترنت و برقراری ارتباط
    نوشته شده توسط saffari2005 در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 2
    آخرین پست: دوشنبه 14 خرداد 1386, 21:54 عصر
  2. ارتباط پایگاه داده با vb
    نوشته شده توسط shamsi در بخش برنامه نویسی در 6 VB
    پاسخ: 3
    آخرین پست: چهارشنبه 22 آذر 1385, 13:45 عصر
  3. ساخت جدول در VB
    نوشته شده توسط mahak_f در بخش برنامه نویسی در 6 VB
    پاسخ: 0
    آخرین پست: سه شنبه 10 مرداد 1385, 07:18 صبح
  4. مشکل در ساخت جدول در SP و استفاد از EXEC
    نوشته شده توسط white fox در بخش SQL Server
    پاسخ: 4
    آخرین پست: سه شنبه 23 اسفند 1384, 09:25 صبح
  5. میخواستم در مورد ساخت جدول Ado و پسوند فایل آن بدانم
    نوشته شده توسط seyed_farid در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 8
    آخرین پست: جمعه 31 تیر 1384, 15:23 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •