Копирование результатов запроса, В TableView нет возможности скопировать все записи |
Здравствуйте, гость ( Вход | Регистрация )
Копирование результатов запроса, В TableView нет возможности скопировать все записи |
Гость_peleduy_* |
20.12.2014, 12:33
Сообщение
#1
|
Гости |
Делаю приложение для работы с PgSQL и не могу реализовать возможность выделения и копирования всех записей результатов запроса для переноса в текстовый редактор в частности для печати и т.п. Как это возможно решить средствами QT? Возможно требуется другой элемент управления, но пока у меня не получилось, например TextEdit ничего не отображает. Подскажите пожалуйста кто знает.
|
|
|
Litkevich Yuriy |
20.12.2014, 14:37
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Тебе нужно из модели копировать данные, см. тему:
"QTableView, как бы так запросто скопировать все" |
|
|
Гость_peleduy_* |
21.12.2014, 8:21
Сообщение
#3
|
Гости |
Попробую, но мне кажется вопрос должен решаться проще.
|
|
|
lanz |
22.12.2014, 20:21
Сообщение
#4
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Если попроще, можно переопределить mimeTypes и mimeData, чтобы они возвращали чистый форматированный текст.
|
|
|
Гость_peleduy_* |
23.12.2014, 7:29
Сообщение
#5
|
Гости |
Если попроще, можно переопределить mimeTypes и mimeData, чтобы они возвращали чистый форматированный текст. Я еще не работал с mimeTypes и mimeData, если можно пожалуйста поподробнее... Получилось вывести таблицу в текстовое поле с помощью предыдущей рекомендации (взял процедуру построчного копирования), вечером код по возможности представлю. |
|
|
Гость_peleduy_* |
23.12.2014, 17:07
Сообщение
#6
|
Гости |
query.exec("create table zeml (id int primary key, "
"date date, time interval, " "shgr int, shmin int, dolgr int, dolmin int, " "glub int, magn numeric, regi int)"); int Basa::copyTable() { //копирует таблицу из модели в QTextEdit QSqlTableModel * model = new QSqlTableModel(0); model->setTable("tbl"); model->setSort(0, Qt::AscendingOrder); //сортировка по возрастанию model->select(); int n = model->rowCount(); QModelIndex index; int i, j; QString str; for (i=0; i <= n-1; ++i) { if (i>0) str += "\n"; for (j=0; j <= 9; ++j) //всего в таблице 10 полей (с 0 по 9) { if (j>-1) index = model->index(i, j, QModelIndex()); QString t = model->data(index).toString(); str += t; str += "\t"; //(убрал табуляцию в конец, чтобы таблица начиналась от края) } } textqueryEdit->setText(str); //выводит таблицу в QTextEdit return 0; } |
|
|
Текстовая версия | Сейчас: 1.12.2024, 8:50 |