مشکل با 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}. :) ممنون محسن جان
3/3