Example #1
0
File: main.cpp Project: cedrus/qt4
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    TableModel *model = new TableModel(4, 2, &app);

//! [0]
    QTableView *firstTableView = new QTableView;
    QTableView *secondTableView = new QTableView;
//! [0]

//! [1]
    firstTableView->setModel(model);
    secondTableView->setModel(model);
//! [1]

    firstTableView->horizontalHeader()->setModel(model);

    for (int row = 0; row < 4; ++row) {
        for (int column = 0; column < 2; ++column) {
            QModelIndex index = model->index(row, column, QModelIndex());
            model->setData(index, QVariant(QString("(%1, %2)").arg(row).arg(column)));
        }
    }

//! [2]
    secondTableView->setSelectionModel(firstTableView->selectionModel());
//! [2]

    firstTableView->setWindowTitle("First table view");
    secondTableView->setWindowTitle("Second table view");
    firstTableView->show();
    secondTableView->show();
    return app.exec();
}
Example #2
0
void tst_QItemDelegate::QTBUG4435_keepSelectionOnCheck()
{
    QStandardItemModel model(3, 1);
    for (int i = 0; i < 3; ++i) {
        QStandardItem *item = new QStandardItem(QLatin1String("Item ") + QString::number(i));
        item->setCheckable(true);
        item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled);
        model.setItem(i, item);
    }
    QTableView view;
    view.setModel(&model);
    view.setItemDelegate(new TestItemDelegate);
    view.show();
    view.selectAll();
    QVERIFY(QTest::qWaitForWindowExposed(&view));
    QStyleOptionViewItem option;
    option.rect = view.visualRect(model.index(0, 0));
    // mimic QStyledItemDelegate::initStyleOption logic
    option.features = QStyleOptionViewItem::HasDisplay | QStyleOptionViewItem::HasCheckIndicator;
    option.checkState = Qt::CheckState(model.index(0, 0).data(Qt::CheckStateRole).toInt());
    const int checkMargin = qApp->style()->pixelMetric(QStyle::PM_FocusFrameHMargin, 0, 0) + 1;
    QPoint pos = qApp->style()->subElementRect(QStyle::SE_ViewItemCheckIndicator, &option, 0).center()
                 + QPoint(checkMargin, 0);
    QTest::mouseClick(view.viewport(), Qt::LeftButton, Qt::ControlModifier, pos);
    QTRY_VERIFY(view.selectionModel()->isColumnSelected(0, QModelIndex()));
    QCOMPARE(model.item(0)->checkState(), Qt::Checked);
}
int main( int argc, char *argv[] )
{
    QApplication app( argc, argv );

    QSqlDatabase db = QSqlDatabase::addDatabase( "QSQLITE" );
    db.setDatabaseName( "testdatabase.db" );

    if( !db.open() )
    {
        qDebug() << db.lastError();
        qFatal( "Failed to connect." );
    }

    QSqlQuery qry;
    qry.prepare( "CREATE TABLE IF NOT EXISTS names (id INTEGER UNIQUE PRIMARY KEY, "
            "firstname VARCHAR(30), "
            "lastname VARCHAR(30))" );
    if( !qry.exec() )
    {
        qDebug() << qry.lastError();
        qFatal( "Failed to create the table" );
    }

    qry.prepare( "INSERT INTO names (id, firstname, lastname) "
            "VALUES (:id, :firstname, :lastname)" );
    qry.bindValue( ":id", 1 );
    qry.bindValue( ":firstname", "John" );
    qry.bindValue( ":lastname", "Doe" );
    if( !qry.exec() )
    {
        qDebug() << qry.lastError();
        qFatal( "Failed to insert" );
    }

    QSqlTableModel *model = new QSqlTableModel();

    model->setTable( "names" );
    model->setFilter( "lastname = 'Doe'" );
    model->select();

    // if removeColumn is enabled, the table won't be editable, this
    // is a bug under this old version
    //model->removeColumn( 0 );

    QTableView *view = new QTableView();
    //view->setColumnHidden( 0, true );
    view->setModel( model );
    view->show();

    /*
    QSqlQueryModel *model = new QSqlQueryModel();
    model->setQuery( "SELECT firstname, lastname FROM names" );

    QTableView *view = new QTableView();
    view->setModel( model );
    view->show();
    */

    return app.exec();
}
//! [0]
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QStandardItemModel model(4, 2);
    QTableView tableView;
    tableView.setModel(&model);

    SpinBoxDelegate delegate;
    tableView.setItemDelegate(&delegate);
//! [0]

    tableView.horizontalHeader()->setStretchLastSection(true);

//! [1]
    for (int row = 0; row < 4; ++row) {
        for (int column = 0; column < 2; ++column) {
            QModelIndex index = model.index(row, column, QModelIndex());
            model.setData(index, QVariant((row+1) * (column+1)));
        }
//! [1] //! [2]
    }
//! [2]

//! [3]
    tableView.setWindowTitle(QObject::tr("Spin Box Delegate"));
    tableView.show();
    return app.exec();
}
Example #5
0
int main( int argc, char* argv[] ){
	if(argc != 2){
		return std::cerr<<"No!"<<std::endl;
	}
    QApplication a(argc,argv);

    std::ifstream file;

    file.open(argv[1]);
    std::string line;
    std::string alltext;
    while(getline(file, line)){
    	alltext += line;
       	alltext += "\n";
    }
    file.close();
    QString filetext(QString::fromStdString(alltext));

	DnDAddressModel model(filetext);

	QListView listView;
	listView.setModel(&model);
	listView.setModelColumn(0);
	listView.show();

	QTreeView treeView;
	treeView.setModel(&model);
	treeView.show();

	QTableView tableView;
	tableView.setModel(&model);
	tableView.show();

	return a.exec();
}
Example #6
0
int main(int argc, char *argv[])
{
  std::cout << "Enter." << std::endl;
  QApplication app(argc, argv);

  QStandardItemModel model(4, 2);
  QTableView tableView;
  tableView.setModel(&model);

  ComboBoxDelegate delegate;
  //tableView.setItemDelegate(&delegate);
  tableView.setItemDelegateForColumn(1, &delegate); // Column 0 can take any value, column 1 can only take values up to 8.

  //tableView.horizontalHeader()->setStretchLastSection(true);


  for (int row = 0; row < 4; ++row)
  {
      for (int column = 0; column < 2; ++column)
      {
          QModelIndex index = model.index(row, column, QModelIndex());
          model.setData(index, QVariant((row+1) * (column+1)));
      }
  }


  tableView.show();
  return app.exec();
}
Example #7
0
int main( int argc, char* argv[] )
{
  QApplication app( argc, argv );

  // Open the addressbook file in the working directory 
  QFile file("addressbook.csv");
  if ( !file.open(QIODevice::ReadOnly|QIODevice::Text) )
	  return 1;

  // Read its content into a string
  QString addresses = QString::fromUtf8(file.readAll());
  AddressbookModel model(addresses);

  QListView listView;
  listView.setModel(&model);
  listView.setModelColumn(0);
  listView.show();

  QTreeView treeView;
  treeView.setModel(&model);
  treeView.show();

  QTableView tableView;
  tableView.setModel(&model);
  tableView.show();

  return app.exec();
}
Example #8
0
bool historymanager::showhistory()
{
    tablemodel->select();    tablemodel->setHeaderData(1 , Qt::Horizontal ,tr("title"));
    tablemodel->setHeaderData(2 , Qt::Horizontal , tr("url"));
    QTableView * tableview = new QTableView();
    tableview->setModel(tablemodel);
    qDebug() << tablemodel->rowCount();
    tableview->show();
}
Example #9
0
 QTableView* createView(QSqlQueryModel *model)
 {
     QTableView *view = new QTableView;
     view->setModel(model);

     view->show();

     return view;
 }
Example #10
0
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QTableView tableView;
    MyModel myModel(0);
    tableView.setModel( &myModel );
    tableView.show();
    return a.exec();
}
Example #11
0
void createView(const QString &title, QSqlQueryModel *model)
{
    static int offset = 0;

    QTableView *view = new QTableView;
    view->setModel(model);
    view->setWindowTitle(title);
    view->move(100 + offset, 100 + offset);
    offset += 20;
    view->show();
}
Example #12
0
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QTableView tv;
    QStandardItemModel m;
    m.setRowCount(4);
    m.setColumnCount(2);
    tv.setModel(&m);
    tv.show();
    tv.setItemDelegate(new ExampleDelegate());
    app.exec();
}
Example #13
0
int main(int argc, char *argv[]) {
  QApplication app(argc, argv);

  QTableView* table = new QTableView();
  TableModel* model = new TableModel(table);
  MultipleSelectDelegate* delegate = new MultipleSelectDelegate(table);
  table->setModel(model);
  table->setItemDelegate(delegate);
  table->show();

  return app.exec();
}
Example #14
0
File: main.cpp Project: RSATom/Qt
QTableView* createView(QSqlQueryModel *model, const QString &title = "")
{
    QTableView *view = new QTableView;
    view->setModel(model);
    static int offset = 0;

    view->setWindowTitle(title);
    view->move(100 + offset, 100 + offset);
    offset += 20;
    view->show();

    return view;
}
Example #15
0
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QTableView *qTableView = new QTableView;
    MyModel myModel(0);
    //setModel()
    //1.告诉qTableView多少行多少列需要展示
    //2.每个单元格需要展示什么内容,就是data()返回值
    qTableView->setModel(&myModel);
    qTableView->show();

    return app.exec();
}
Example #16
0
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QTextCodec::setCodecForTr(QTextCodec::codecForLocale());

    WeaponModel model;

    QTableView view;
    view.setModel(&model);
    view.setWindowTitle(QObject::tr("自定义模型"));
    view.resize(640,480);
    view.show();
    return app.exec();
}
Example #17
0
void KinectCalibration::init(QTableView &kinectCalibrationTableView) {
    if (mongo_helper_->is_connected() == false) {
        return;
    }

    if (ros::master::check())
    {
        initialising_ = true;

        CheckBoxDelegate *checkbox_delegate = new CheckBoxDelegate(&kinectCalibrationTableView);
        kinectCalibrationTableView.setItemDelegateForColumn(0, checkbox_delegate);

        std::vector<struct NodeRowData> gridData;

        Query query;
        query.sort("node.row");

        std::unique_ptr<DBClientCursor> cursor = mongo_helper_->find("KinectCalibrationFunction", query);
        while (cursor->more()) {
            BSONElement node = cursor->next()["node"];
            NodeRowData nodeRowData;

            if (node["selected"].ok())
                node["selected"].Val(nodeRowData.selected);
            else
                nodeRowData.selected = false;

            if (node["friendlyName"].ok())
                node["friendlyName"].Val(nodeRowData.friendlyName);

            if (node["nodePath"].ok())
                node["nodePath"].Val(nodeRowData.nodePath);

            nodeRowData.running = false;
            gridData.push_back(nodeRowData);
        }

        kinect_calibration_table_model_ = std::make_shared<NodeTableModel>(this, mongo_helper_, &gridData);
        kinectCalibrationTableView.setModel(kinect_calibration_table_model_.get());
        kinectCalibrationTableView.setColumnWidth(0, 100);
        kinectCalibrationTableView.setColumnWidth(1, 300);
        kinectCalibrationTableView.horizontalHeader()->setResizeMode(2, QHeaderView::Stretch);
        //kinectCalibrationTableView.setSelectionBehavior(QAbstractItemView::SelectRows);
        //kinectCalibrationTableView.setAutoFillBackground(true);
        kinectCalibrationTableView.verticalHeader()->setMovable(true);
        kinectCalibrationTableView.show();

        initialising_ = false;
    }
}
Example #18
0
int main(int argc, char *argv[])
{
	QApplication app(argc, argv);
	if (!createConnection())
	    return 1;

	QSqlRelationalTableModel model;

	initializeModel(&model);

	QTableView *view = createView(QObject::tr("Relational Table Model"), &model);
	view->show();

	return app.exec();
}
Example #19
0
File: main.cpp Project: TraumLou/qt
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    //MainWindow w;
    //w.show();

    ModelEx modelEx;
    QTableView view;
    view.setModel(&modelEx);
    view.setWindowTitle(QObject::tr("modelEx"));
    view.resize(400, 400);
    view.show();

    return a.exec();
}
Example #20
0
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QTableView *tableView = new QTableView;
    QTableModel tableModel(200,200);

      tableView->setModel(&tableModel);
      tableView->setGeometry(430,340,300,300);
      tableView->show();



    return a.exec();
}
Example #21
0
File: main.cpp Project: Afreeca/qt
QTableView* createView(QSqlQueryModel *model, const QString &title = "")
{
    QTableView *view = new QTableView;
    view->setModel(model);
#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
    Q_UNUSED(title);
    view->resizeColumnsToContents();
#else
    static int offset = 0;

    view->setWindowTitle(title);
    view->move(100 + offset, 100 + offset);
    offset += 20;
    view->show();
#endif

    return view;
}
int main(int argc, char **argv)
{
    QApplication app(argc, argv);

    ConversationModel model;

    GroupModel groupModel;
    groupModel.setQueryMode(EventModel::SyncQuery);
    groupModel.getGroups("/org/freedesktop/Telepathy/Account/gabble/jabber/dut_40localhost0");

    model.getEvents(groupModel.group(groupModel.index(0, 0)).id());

    QTableView view;
    view.setModel(&model);
    view.show();

#if 0
    // Examples for accessing group data. You'll have to either use
    // SyncQuery mode or wait for rowsInserted() or modelReady() before
    // you can iterate over the model data.

    for (int i = 0; i < model.rowCount(); i++) {
        // Model style:
        qDebug() << model.index(i, EventModel::EventId).data().toString() <<
            model.index(i, EventModel::StartTime).data().toDateTime() <<
            model.index(i, EventModel::LocalUid).data().toString() <<
            model.index(i, EventModel::RemoteUid).data().toString() <<
            model.index(i, EventModel::FreeText).data().toString();

        // Event style:
        Event e = model.event(model.index(i, 0));
        // or
        // Event e = model.index(i, 0).data(Qt::UserRole).value<Event>();

        qDebug() << e.id() << e.startTime() << e.localUid() <<
            e.remoteUid() << e.freeText();

    }
#endif

    int ret = app.exec();

    return ret;
}
void CCustomHeadersTest::test_insertRowColumn_1()
{
	QTableView stTableView;
	m_ptrShopHeader = new CShopHeaderView();
	stTableView.setHorizontalHeader(m_ptrShopHeader);
	stTableView.setModel(m_ptrModel);
	stTableView.show();
	//////////////////////////////////////////////////////////////////////////
	QCOMPARE(m_ptrModel->columnCount(),1);
	QCOMPARE(m_ptrModel->rowCount(),1);

	int iColumnCount = m_ptrModel->columnCount();
	QVERIFY(m_ptrModel->insertColumn(iColumnCount));
	QVERIFY(m_ptrModel->insertRow(m_ptrModel->rowCount()));
	m_ptrModel->setHeaderData(iColumnCount,Qt::Horizontal,true,Role_ShopColumnActive);

	QVERIFY(m_ptrModel->insertColumn(m_ptrModel->columnCount()));
	QVERIFY(m_ptrModel->insertRow(m_ptrModel->rowCount()));
}
Example #24
0
QtTutorial::QtTutorial(QWidget *parent)
	: QMainWindow(parent)
{

	// ALL OF OUR VIEWS
	QListView *listView = new QListView();
	listView->show();

	QTreeView *treeView = new QTreeView();
	treeView->show();

	QComboBox *comboBox = new QComboBox();
	comboBox->show();

	QTableView *tableView = new QTableView();
	tableView->show();

	// RGBA
	QColor red = QColor(255, 0, 0, 255);
	QColor green = QColor(0, 255, 0, 255);
	QColor blue = QColor(0, 0, 255, 255);

	QList<QColor> items;
	items.append(red);
	items.append(green);
	items.append(blue);

	int rowCount = 4;
	int columnCount = 6;

	PaletteListModel *model = new PaletteListModel(items);
	
	// Insert at Position 3 -> 5 empty rows
	model->insertRows(3, 5);

	// Remove from position 4 -> 1 row
	// model->removeRows(4,1);

	listView->setModel(model);
	comboBox->setModel(model);
	tableView->setModel(model);
    treeView->setModel(model);
}
Example #25
0
void createView(const QString &title, QSqlQueryModel *model)
{
    static int offset = 0;

    QTableView *view = new QTableView;
    view->setModel(model);
    view->setWindowTitle(title);
    view->move(100 + offset, 100 + offset);
    offset += 20;
    view->show();

    std::cout << "createView\n";
    for (int i = 0; i < model->rowCount(); ++i) {
        int id = model->record(i).value("id").toInt();
        QString name = model->record(i).value("name").toString();
        std::cout << name.toStdString() << "\n";
    }
    std::cout.flush();
}
Example #26
0
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QMap<QString, double> currencyMap;
    currencyMap.insert("AUD", 1.3257);
    currencyMap.insert("CHF", 1.2980);
    currencyMap.insert("SGD", 1.6911);
    currencyMap.insert("USD", 1.0000);

    CurrencyModel currencyModel(currencyMap);

    QTableView tableView;
    tableView.setModel(&currencyModel);
    tableView.setAlternatingRowColors(true);
    tableView.show();

    return a.exec();
}
Example #27
0
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    if (!createConnection())
        return 1;
    createRelationalTables();

    QSqlRelationalTableModel model;

    initializeModel(&model);

    QTableView *view = createView(QObject::tr("Relational Table Model"), &model);
#if defined(Q_OS_SYMBIAN)
    view->showMaximized();
#else
    view->show();
#endif

    return app.exec();
}
Example #28
0
void QSqlQueryModel_snippets()
{
    {
//! [16]
    QSqlQueryModel *model = new QSqlQueryModel;
    model->setQuery("SELECT name, salary FROM employee");
    model->setHeaderData(0, Qt::Horizontal, tr("Name"));
    model->setHeaderData(1, Qt::Horizontal, tr("Salary"));

//! [17]
    QTableView *view = new QTableView;
//! [17] //! [18]
    view->setModel(model);
//! [18] //! [19]
    view->show();
//! [16] //! [19] //! [20]
    view->setEditTriggers(QAbstractItemView::NoEditTriggers);
//! [20]
    }

//! [21]
    QSqlTableModel model;
    model.setTable("employee");
    model.select();
    int salary = model.record(4).value("salary").toInt();
//! [21]
    Q_UNUSED(salary);

    {
//! [22]
    int salary = model.data(model.index(4, 2)).toInt();
//! [22]
    Q_UNUSED(salary);
    }

    for (int row = 0; row < model.rowCount(); ++row) {
        for (int col = 0; col < model.columnCount(); ++col) {
            qDebug() << model.data(model.index(row, col));
        }
    }
}
Example #29
0
void LayerTreeModel::showAttributeTable(const QModelIndex &index)
{
    if (!index.isValid())
        return;

    const QList<AbstractLayer *>& layers = m_map->layers();
    if (layers.size() <= index.row())
    {
        Log.e(QString("Invalid index %1").arg(index.row()));
        return;
    }

    AbstractLayer *layer = layers.at(index.row());
    FeatureLayer* featureLayer = static_cast<FeatureLayer*>(layer);

    // TODO: memory leak, use dialog for it
    QTableView* attributes = new QTableView();
    FeatureClassModel* featureLayerModel = new FeatureClassModel(*featureLayer->featureClass(), attributes);
    attributes->setModel(featureLayerModel);
    attributes->show();
}
Example #30
-1
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QStandardItemModel model(4,4);
    QTableView tableView;
    tableView.setModel(&model);
    DateDelegate dateDelegate;
    tableView.setItemDelegateForColumn(1,&dateDelegate);
    ComboDelegate comboDelegate;
    tableView.setItemDelegateForColumn(2,&comboDelegate);
    SpinDelegate spinDelegate;
    tableView.setItemDelegateForColumn(3,&spinDelegate);

    model.setHeaderData(0,Qt::Horizontal,QObject::tr("姓名"));
    model.setHeaderData(1,Qt::Horizontal,QObject::tr("生日"));
    model.setHeaderData(2,Qt::Horizontal,QObject::tr("职业"));
    model.setHeaderData(3,Qt::Horizontal,QObject::tr("收入"));

    QFile file("test.txt");
    if(file.open(QFile::ReadOnly|QFile::Text))
    {
        QTextStream stream(&file);
        QString line;

        model.removeRows(0,model.rowCount(QModelIndex()),QModelIndex());
        int row =0;
        do{
               line = stream.readLine();
               if(!line.isEmpty())
               {
                   model.insertRows(row,1,QModelIndex());
                   QStringList pieces = line.split(",",QString::SkipEmptyParts);
                   model.setData(model.index(row,0,QModelIndex()),pieces.value(0));
                   model.setData(model.index(row,1,QModelIndex()),pieces.value(1));
                   model.setData(model.index(row,2,QModelIndex()),pieces.value(2));
                   model.setData(model.index(row,3,QModelIndex()),pieces.value(3));
                   row++;
               }
        }while(!line.isEmpty());

        file.close();
    }
    tableView.setWindowTitle(QObject::tr("Delegate"));
    tableView.show();
    
    return a.exec();
}