![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Гость_peleduy_* |
![]()
Сообщение
#1
|
Гости ![]() |
Делаю приложение для работы с PgSQL и не могу реализовать возможность выделения и копирования всех записей результатов запроса для переноса в текстовый редактор в частности для печати и т.п. Как это возможно решить средствами QT? Возможно требуется другой элемент управления, но пока у меня не получилось, например TextEdit ничего не отображает. Подскажите пожалуйста кто знает.
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Тебе нужно из модели копировать данные, см. тему:
"QTableView, как бы так запросто скопировать все" |
|
|
Гость_peleduy_* |
![]()
Сообщение
#3
|
Гости ![]() |
Попробую, но мне кажется вопрос должен решаться проще.
|
|
|
lanz |
![]()
Сообщение
#4
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Если попроще, можно переопределить mimeTypes и mimeData, чтобы они возвращали чистый форматированный текст.
|
|
|
Гость_peleduy_* |
![]()
Сообщение
#5
|
Гости ![]() |
Если попроще, можно переопределить mimeTypes и mimeData, чтобы они возвращали чистый форматированный текст. Я еще не работал с mimeTypes и mimeData, если можно пожалуйста поподробнее... Получилось вывести таблицу в текстовое поле с помощью предыдущей рекомендации (взял процедуру построчного копирования), вечером код по возможности представлю. |
|
|
Гость_peleduy_* |
![]()
Сообщение
#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; } |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 18.2.2025, 1:49 |