Ответы пользователя по тегу Qt
  • Как из одной TableView скопировать выбранные данные в другую TableView?

    oleja1ee7
    @oleja1ee7 Автор вопроса
    проблема решилась через tableWidget
    void reportHelp::on_tableView_doubleClicked(const QModelIndex &index)
    {
        ui->tableWidget->setRowCount(ui->tableWidget->rowCount() + 1);
        QTableWidgetItem* item = new QTableWidgetItem;
        item->setText(index.data().toString());
        item->setTextAlignment(Qt::AlignCenter);
        ui->tableWidget->setItem(ui->tableWidget->rowCount() - 1, 0, item);
    }
    Ответ написан
    Комментировать
  • Как проверить выделение строки на QTableView?

    oleja1ee7
    @oleja1ee7 Автор вопроса
    QItemSelectionModel *selectModel = ui->tableView->selectionModel();
    selectModel->selectedRows().isEmpty()

    проверка, пустая ли строка
    Ответ написан
    Комментировать
  • Как поставить значение из qcombobox на русский?

    oleja1ee7
    @oleja1ee7 Автор вопроса
    QSettings *dbsett = new QSettings("default.ini",QSettings::IniFormat);
    dbsett->setIniCodec("UTF-8");
    //тут получение значения из бокса
    QString nu = ui->comboBox->currentText();

    dbsett->setValue("user/nameuser", nu);
    dbsett->sync();
    Ответ написан
    Комментировать
  • Как сделать вывод в excel из qtableview?

    oleja1ee7
    @oleja1ee7 Автор вопроса
    Решил все таким способом:
    заголовок
    int rows = ui->tableView->horizontalHeader()->count();
        int columns = ui->tableView->verticalHeader()->count();
        for(int k=1; k<rows;k++)
        {
            QVariant header = ui->tableView->model()->headerData(k, Qt::Horizontal);
            QAxObject *cell = StatSheet->querySubObject("Cells(QVariant,QVariant)", 1, k);
            cell->setProperty("Value", QVariant(header));
            /* 
           тут  65 строчек внешнего оформления (Переносы, цвета, фильтры, границы)
            */
            delete cell;
        }
    сами ячейки
    for(int i=2; i<=columns+1;i++)//строки
        {
            for(int j=1;j<rows;j++)//столбцы
            {
                QVariant value1 = ui->tableView->model()->data(ui->tableView->model()->index(i-2,j)); //i  - начать с 2 ячейки j - упустить первый столбец
                QAxObject* cell = StatSheet->querySubObject("Cells(QVariant,QVariant)", i, j);
                // вставка значения переменной data (любой тип, приводимый к QVariant) в полученную ячейку
                cell->setProperty("Value", QVariant(value1));
                value1="";
            }
    
        }
     // освобождение памяти
            delete StatSheet;
            mSheets->dynamicCall("Save()");
            delete mSheets;
            delete shab;//wbook;
            delete wbooks;//wbooks;
            excel->dynamicCall("Quit()");
            ui->name_excel_file->setText("");
            delete excel;
    Ответ написан
    Комментировать
  • Как реализовать фильтрацию в Excel через Qt?

    oleja1ee7
    @oleja1ee7 Автор вопроса
    Все решилось просто таким способом
    QAxObject *filter = cell->querySubObject("AutoFilter");
    Ответ написан
    Комментировать
  • Виноваты атрибуты на русском?

    oleja1ee7
    @oleja1ee7 Автор вопроса
    Помимо последней ошибки узнал еще её номер
    qDebug() << query.lastError().number()<< query.lastError().text();

    Оттуда накопал ошибку 1064, которая ничего не прояснила, но методом тыка понял что беда в апострофах, которыми обозначил атрибуты. Убрал и их.
    Следующая ошибка это было отсутствие первичного ключа в таблице.
    и несоответствие приведенных типов, я обозначал их как QString, но в таблице были 3 даты и 1 численный.
    Теперь все просто прекрасно. Спасибо за помощь, Игорь Джулай
    Ответ написан
    Комментировать
  • Как вывести SQL запрос в tableView?

    oleja1ee7
    @oleja1ee7 Автор вопроса
    Основная проблема решена таким образом:

    QSqlQueryModel *setquery1 = new QSqlQueryModel;
    setquery1->setQuery("SELECT * FROM people1 WHERE name LIKE '"+pole2+"%' AND id LIKE '"+pole1+"%'");
    QTableView *tv = new QTableView(this);
    tv->setModel(setquery1);
    ui->tableView->setModel(setquery1);
    Ответ написан
    Комментировать