مشکل با QTableView



  • p{direction:rtl; text-align:right}. سلام

    p{direction:rtl; text-align:right}. این کد رو ببینید
    با designer یه QTableView روی فرم گذاشتم به اسم ui->tableView و یه دونه هم زمان اجرا ساختم به اسم tv . کد هر دوتاشون هم مثل همه
    اما اولی خالیه و دومی جدول دیتابیس رو نشون می‌ده. چرا با designer این مشکل رو دارم؟

    @Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
    {
    ui->setupUi(this);

    QSqlDatabase mydb = QSqlDatabase::addDatabase("QSQLITE");
    mydb.setDatabaseName("aliDB.db3");
    if (!mydb.open())
        {
               QMessageBox::information(this,"Error","Error");
        }
    
    QSqlTableModel model;
    model.setTable("student");
    model.select();
    ui->tableView->setModel(&model);
    
    QTableView *tv=new QTableView();
    QSqlTableModel *md=new QSqlTableModel();
    md->setTable("student");
    md->select();
    tv->setModel(md);
    tv->show();
    

    }@



  • p{direction: rtl; text-align:right}. بخاطر اینکه آبجکت شما destroy میشه و این روش شما هیچ تضمینی برای اینکه روی رم باقی بمونه نداره. باید نوع مدل رو به پوینتر تغییر بدی.
    @
    QSqlTableModel *model=new QSqlTableModel(this);
    model->setTable("student");
    model->select();
    ui->tableView->setModel(model);
    @



  • p{direction:rtl; text-align:right}. :) ممنون محسن جان


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.