crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Перенос строки из одного tableview в другой после двойного нажатия мышки
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
lanz Дата 27.2.2015, 9:33
  Вот здесь
http://doc.qt.io/qt-5/qabstracttablemodel.html#details
под заголовком Subclassing перечисленны те методы, которые надо реализовать.

Вот тут простой пример реализации:
http://doc.qt.digia.com/4.6/itemviews-addressbook.html
lexflax Дата 22.2.2015, 15:46
 
Цитата(lexflax @ 21.2.2015, 15:46) *
Цитата(lanz @ 21.2.2015, 13:26) *

Блин там столько функций разных как это собрать все в едино? просто нажал на строку она скопировалась аналогично во вторую модель.



Какие конкретно мне функции нужны и как их правильно реализовать?
lexflax Дата 21.2.2015, 15:46
 
Цитата(lanz @ 21.2.2015, 13:26) *

Блин там столько функций разных как это собрать все в едино? просто нажал на строку она скопировалась аналогично во вторую модель.
lanz Дата 21.2.2015, 13:26
  http://doc.crossplatform.ru/qt/4.7.x/model...ting-new-models
Отсюда и ниже.
lexflax Дата 20.2.2015, 17:00
 
Цитата(lanz @ 17.2.2015, 19:27) *
Переопределите свой класс наследник от QAbstractTableModel, я просто поленился.
http://doc.crossplatform.ru/qt/4.7.x/model...rogramming.html

А как дальше? покажите пожалуйста подобный пример(
lanz Дата 17.2.2015, 19:27
  Переопределите свой класс наследник от QAbstractTableModel, я просто поленился.
http://doc.crossplatform.ru/qt/4.7.x/model...rogramming.html
lexflax Дата 17.2.2015, 17:20
 
Цитата(lanz @ 17.2.2015, 0:20) *
Что то по типу вложения:


ОГРОМНОЕ СПАСИБО))))!!!

Подскажите еще один момент
В этом коде я получаю значение из столбца name_pozicii, а можно дописать код так чтоб я мог не только брать из таблицы данные, но и вручную вписать их.
Тоесть прям в коде прописать чтоб после данных которые я взял из столбца, рядом стоял столбец который я бы называл kolichestvo и сразу значение присвоить.
И когда дважды бы нажал на строку в первом tableview у меня бы во втором появился столбец который я запрашиваю а рядом после него столбец который я сам описал, который отсутствует в таблицы этой.
QSqlRecord rec = nomenclatura->record( idx.row() );
    strings.append( QString( "%1, %2" ).arg( rec.value("name_pozicii").toString() )
                                       .arg( rec.value("name_pozicii").toString() ) );
    this->model_2->setStringList( strings );


Цитата(lexflax @ 17.2.2015, 17:12) *
Цитата(lanz @ 17.2.2015, 0:20) *
Что то по типу вложения:


ОГРОМНОЕ СПАСИБО))))!!!

Подскажите еще один момент
В этом коде я получаю значение из столбца name_pozicii, а можно дописать код так чтоб я мог не только брать из таблицы данные, но и вручную вписать их.
Тоесть прям в коде прописать чтоб после данных которые я взял из столбца, рядом стоял столбец который я бы называл kolichestvo и сразу значение присвоить.
И когда дважды бы нажал на строку в первом tableview у меня бы во втором появился столбец который я запрашиваю а рядом после него столбец который я сам описал, который отсутствует в таблицы этой.
QSqlRecord rec = nomenclatura->record( idx.row() );
    strings.append( QString( "%1, %2" ).arg( rec.value("name_pozicii").toString() )
                                       .arg( rec.value("name_pozicii").toString() ) );
    this->model_2->setStringList( strings );


И в данном примере все запрашиваемые значение добавляются в один столбец, а можно как то вразные столбцы их помещать, то есть информацию с названием в отдельном столбце, с ценой в другом столбце...
lanz Дата 17.2.2015, 0:20
  Что то по типу вложения:
lexflax Дата 15.2.2015, 13:41
  Хелп ми плиз)
lexflax Дата 14.2.2015, 18:17
 
Цитата(lanz @ 9.2.2015, 15:23) *

По ссылке все равно не разобрался(
Попытался сделать так
#include "sozdinie_rashodnoi_nakladnoi.h"
#include "ui_sozdinie_rashodnoi_nakladnoi.h"
#include <QSqlQuery>
#include <QSqlQueryModel>
#include <QDebug>
Sozdinie_Rashodnoi_Nakladnoi::Sozdinie_Rashodnoi_Nakladnoi(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Sozdinie_Rashodnoi_Nakladnoi)
{
    ui->setupUi(this);
    QSqlQueryModel *nomenclatura = new QSqlQueryModel;
    QSqlQuery query;
    query.exec("SELECT * FROM nomenklatura");
    nomenclatura->setQuery(query);
    ui->tableView->setModel(nomenclatura);

    connect(this->ui->tableView,SIGNAL(doubleClicked(QModelIndex)),this,SLOT(Copy_pozihion(QModelIndex)));
}

Sozdinie_Rashodnoi_Nakladnoi::~Sozdinie_Rashodnoi_Nakladnoi()
{
    delete ui;
}

QWidget *Sozdinie_Rashodnoi_Nakladnoi::widget()
{
    return this;
}

QString Sozdinie_Rashodnoi_Nakladnoi::windowTitle() const
{
    return QWidget::windowTitle();
}

void Sozdinie_Rashodnoi_Nakladnoi::Copy_pozihion(const QModelIndex &index)

{
QVariant v = this->ui->tableView->model()->data(index, Qt::DisplayRole);
ui->tableView_2->model()->setData(index,v);
}


Пытаюсь так во второй tableview передать значение из переменной v, но программа неожиданно завершается на строчке
ui->tableView_2->model()->setData(index,v);


void Sozdinie_Rashodnoi_Nakladnoi::Copy_pozihion(const QModelIndex &index)

{
QVariant v = this->ui->tableView->model()->data(index, Qt::DisplayRole);
ui->tableView_2->model()->setData(index,v);
}


Я пока не могу до конца понять как правильно все сделать, от сайта к сайту перехожу в поисках разных примерах но точного примера пока не могу найти прям как для меня, подскажите почему вылетает программа?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.3.2024, 13:43