本文整理汇总了C++中QSqlRelationalTableModel::fieldIndex方法的典型用法代码示例。如果您正苦于以下问题:C++ QSqlRelationalTableModel::fieldIndex方法的具体用法?C++ QSqlRelationalTableModel::fieldIndex怎么用?C++ QSqlRelationalTableModel::fieldIndex使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QSqlRelationalTableModel
的用法示例。
在下文中一共展示了QSqlRelationalTableModel::fieldIndex方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: QWidget
TaskCheckBox::TaskCheckBox(SideBarTask* sidebar, int row, QWidget *parent) :
QWidget(parent),
ui(new Ui::taskWidget), sidebar(sidebar)
{
this->row = row;
ui->setupUi(this);
setStyleSheet(TaskCheckBox::defaultCSS);
removeTaskBtn = new QPushButton("X");
checkbox = new QCheckBox();
taskName = new QLabel;
termDate = new TermDate;
priority = new Priority;
ui->taskLayout->addWidget(checkbox,1);
ui->taskLayout->addWidget(priority, 0, Qt::AlignLeft);
ui->taskLayout->addWidget(taskName,10);
ui->taskLayout->addWidget(new QLabel(""));
ui->taskLayout->addWidget(termDate, 0, Qt::AlignLeft);
ui->taskLayout->addWidget(removeTaskBtn, 0, Qt::AlignLeft);
QSqlRelationalTableModel* model = Task::getInstance()->getModel();
mapper = new QDataWidgetMapper(this);
mapper->setSubmitPolicy(QDataWidgetMapper::ManualSubmit);
mapper->setModel(model);
mapper->addMapping(taskName, model->fieldIndex("name"), "text");
mapper->addMapping(termDate, model->fieldIndex("termDate"));
mapper->addMapping(checkbox, model->fieldIndex("isFinished"));
mapper->addMapping(priority, model->fieldIndex("priority"));
// priority->setText(QString::number(row)); // DEBUG
mapper->setCurrentIndex(row);
connect(checkbox, SIGNAL(stateChanged(int)), mapper, SLOT(submit()));
connect(this,SIGNAL(editTask(int)), sidebar, SLOT(loadTask(int)));
connect(removeTaskBtn, SIGNAL(clicked()), this, SLOT(onRemoveTaskClicked()));
}
示例2: FillTable
void CarsEdit::FillTable()
{
QString str_oper = "SELECT hm_cars.id, hm_cars.name, hm_cars.speed, hm_fuel.name, hm_fuel.id FROM hm_cars INNER JOIN hm_fuel ON hm_cars.fuel_id = hm_fuel.id;";
QSqlQueryModel * model_Oper = new QSqlQueryModel(0);
model_Oper->setQuery(str_oper);
model_Oper->setHeaderData(1, Qt::Horizontal, QObject::trUtf8("Название автомобиля"));
model_Oper->setHeaderData(2, Qt::Horizontal, QObject::trUtf8("Максимальная скорость"));
model_Oper->setHeaderData(3, Qt::Horizontal, QObject::trUtf8("Тип топлива"));
ui->tableView->setModel(model_Oper);
ui->tableView->hideColumn(0);
ui->tableView->hideColumn(4);
QSqlRelationalTableModel *comboModel = new QSqlRelationalTableModel(0);
comboModel->setTable("hm_fuel");
int comboIndex = comboModel->fieldIndex("id");
comboModel->setRelation(comboIndex, QSqlRelation("hm_fuel", "id", "name"));
comboModel->select();
QSqlTableModel *comboRelModel = comboModel->relationModel(comboIndex);
ui->comboBox->setModel(comboRelModel);
ui->comboBox->setModelColumn(comboRelModel->fieldIndex("name"));
}
示例3: QMainWindow
/*
** public:
*/
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, m_timer(new QBasicTimer)
, m_dataProvider(new DataProvider(this))
, m_dialogSettings(0) // Guarded by QPointer
, m_dialogAbout(0) // Guarded by QPointer
{
qDebug() << Q_FUNC_INFO;
/*
m_dataModel = new QStandardItemModel(this);
m_dataModel->setColumnCount(5);
*/
setupUi(this);
/*
QStringList labels;
labels << tr("Show name") << tr("Episode name")
<< tr("Season #") << tr("Episode #") << tr("Date");
m_dataModel->setHorizontalHeaderLabels(labels);
// showsTableView->setModel(m_dataModel);
showsTableView->setModel(DbInterface::instance().readEpisodes());
showsTableView->verticalHeader()->hide();
showsTableView->horizontalHeader()->setResizeMode(QHeaderView::Interactive);
showsTableView->horizontalHeader()->setStretchLastSection(true);
showsTableView->horizontalHeader()->setCascadingSectionResizes(true);
showsTableView->horizontalHeader()->setHighlightSections(true);
showsTableView->horizontalHeader()->setMovable(true);
srand(QTime::currentTime().toString("hhmmsszzz").toUInt());
// Fill with random stuff
for (int i=0; i<30; ++i) {
m_dataModel->setItem(i, 0, new QStandardItem(QString("show_%1").arg(i)));
m_dataModel->setItem(i, 1, new QStandardItem(QString("episode_%1").arg(i)));
m_dataModel->setItem(i, 2, new QStandardItem(QString("%1").arg(rand()%10+1)));
m_dataModel->setItem(i, 3, new QStandardItem(QString("%1").arg(rand()%24+1)));
QDate rndDate = QDate::currentDate().addDays(i);
m_dataModel->setItem(i, 4, new QStandardItem(rndDate.toString("yyyy/MM/dd")));
}
*/
setWindowTitle(QString("nextShows - v%1").arg(NEXTSHOWS_VERSION));
statusBar()->showMessage(tr("nextShows started"), 1000*3);
// TEMPORARY CODE FOR TESTING ////////////////////////////////////////////
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE", "NS_View");
db.setDatabaseName("ns.db");
db.open();
QSqlRelationalTableModel *model = new QSqlRelationalTableModel(this, db);
model->setTable("T_Episodes");
model->setRelation(model->fieldIndex("shows_id"),
QSqlRelation("T_Shows", "idT_Shows", "ShowName"));
model->setSort(model->fieldIndex("Date"), Qt::AscendingOrder);
model->select();
QStringList hideFields;
hideFields << "idT_Episodes" << "ProdNumber" << "EpisodeCount"
<< "EpisodeUrl" << "isSpecial";
foreach (QString field, hideFields) {
model->removeColumn(model->fieldIndex(field));
}
示例4: QWidget
SideBarTask::SideBarTask(QWidget *parent) :
QWidget(parent),
ui(new Ui::sideBarTask)
{
ui->setupUi(this);
layout = new QVBoxLayout();
// task course
courseDropDown = new QComboBox();
// task type
taskType = new TriStateButton("Type: ", "TE","Devoir", "Labo");
// Task name
taskName = new QLineEdit();
taskName->setPlaceholderText("Titre de la tache");
// Task description
description = new QTextEdit();
description->setPlaceholderText("Description");
description->setSizePolicy(QSizePolicy::MinimumExpanding,QSizePolicy::MinimumExpanding);
description->setMinimumHeight(20);
description->setMaximumHeight(100);
// task priority
priority = new TriStateButton("Priorité: ", "Basse", "Moyenne", "Haute");
// task term
termDate = new QDateTimeEdit;
termDate->setCalendarPopup(true);
hasTerm = new QCheckBox("Echéance");
hasTerm->setChecked(false);
connect(hasTerm, SIGNAL(clicked(bool)), termDate, SLOT(setEnabled(bool)) );
termDate->setEnabled(false);
// Task Submit
btnSubmit = new QPushButton();
btnSubmit->setText("Sauver");
btnSubmit->setDefault(false);
btnSubmit->setAutoDefault(true);
QSqlRelationalTableModel *model = Task::getInstance()->getModel();
courseIndex = Task::getInstance()->getCourseIndex();
//SQLRelation set dropdown to search course name in DB
relModel = model->relationModel(courseIndex);
courseDropDown->setModel(relModel);
courseDropDown->setModelColumn(relModel->fieldIndex("name"));
mapper = new QDataWidgetMapper(this);
mapper->setModel(model);
mapper->setSubmitPolicy(QDataWidgetMapper::ManualSubmit);
mapper->setItemDelegate(new QSqlRelationalDelegate(this));
// Mapping
mapper->addMapping(taskName, model->fieldIndex("name"));
mapper->addMapping(description, model->fieldIndex("description"));
mapper->addMapping(courseDropDown, courseIndex);
mapper->addMapping(priority, model->fieldIndex("priority"));
mapper->addMapping(taskType, model->fieldIndex("typeId"));
mapper->addMapping(termDate, model->fieldIndex("termDate"));
// Ajout des widgets au layout
layout->addWidget(courseDropDown);
layout->addWidget(taskType);
layout->addSpacing(10);
layout->addWidget(taskName);
layout->addWidget(description);
layout->addSpacing(10);
layout->addWidget(hasTerm);
layout->addWidget(termDate);
layout->addSpacing(10);
layout->addWidget(priority);
layout->addWidget(btnSubmit, QDialogButtonBox::AcceptRole);
layout->addStretch();
connect(btnSubmit, SIGNAL(clicked()), this , SLOT(submitTask()));
mapper->toFirst();
this->setLayout(layout);
}