Russian Qt Forum
Ноябрь 23, 2024, 13:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: вопрос по QTableWidget  (Прочитано 6990 раз)
Alexu007
Гость
« : Ноябрь 08, 2014, 18:44 »

Код
C++ (Qt)
   for(int i = 0; i < 15; i++)
      for(int j = 0; j < 20; j++)
           {
           QTableWidgetItem *item = new QTableWidgetItem();
           item->setText("0");
           ui->tableWidget->setItem(i, j, item);
           }
 
   QTableWidgetItem *item = new QTableWidgetItem();
 
   item->setText("1");
   ui->tableWidget->setItem(1, 1, item);
 
   item->setText("2");
   ui->tableWidget->setItem(2, 2, item);

Цикл заполняет таблицу нулями, всё "Ок".

Хочу в ячейку 1,1 записать единичку, а в ячейку 2,2 - двойку - не хочет. Что не так?
Записан
VPS
Гость
« Ответ #1 : Ноябрь 08, 2014, 19:24 »

QTableWidget: cannot insert an item that is already owned by another QTableWidget
Записан
Alexu007
Гость
« Ответ #2 : Ноябрь 08, 2014, 19:44 »

Понятно.

А как при клике мышкой в таблицу получить колонку и строку, куда был клик? Это возможно?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #3 : Ноябрь 08, 2014, 20:27 »

сигналы посмотри
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Alexu007
Гость
« Ответ #4 : Ноябрь 08, 2014, 20:31 »

Спасиб. Посмотрел уже:

    
Код
C++ (Qt)
QObject::connect(ui->tableWidget, SIGNAL(cellClicked(int,int)), this, SLOT(MyKlickTable(int, int)));
 
   void MyWidget::MyKlickTable(int x, int y)
   {
       ui->label->setText(QString::number(x) + " " + QString::number(y));
   }
 
Записан
Alexu007
Гость
« Ответ #5 : Ноябрь 09, 2014, 00:41 »

Изменить размер шрифта и цвет в отдельной ячейке таблицы - возможно?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #6 : Ноябрь 09, 2014, 01:02 »

господи да открывай документацию первым делом, а не на форум беги. в айтеме все есть.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Alexu007
Гость
« Ответ #7 : Ноябрь 12, 2014, 21:33 »

Как получить данные, записанные в ячейку таблицы?

Документацию я смотрел, ответа на вопрос там не нашёл. Ничего похожего на Qstring str = item(row,col).getText()
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #8 : Ноябрь 12, 2014, 21:44 »

text(). пиздец, извините.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #9 : Ноябрь 12, 2014, 21:55 »

text(). пиздец, извините.

Не нужно извиняться Подмигивающий Веселый

ТС, смотрите qtablewidgetitem, это отдельная ячейка qtablewidget
Записан

Alexu007
Гость
« Ответ #10 : Ноябрь 13, 2014, 10:10 »

Ну, могли бы и пару строчек кода выложить, чтобы сразу видно стало, как это делается.  Непонимающий
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #11 : Ноябрь 13, 2014, 13:12 »

Ну, могли бы и пару строчек кода выложить, чтобы сразу видно стало, как это делается.  Непонимающий

QString str = ui->tableWidget->item(row,col)->text();

или

QTableWidgetItem * item = ui->tableWidget->item(row,col);
QString str = item->text();
Записан

kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #12 : Ноябрь 13, 2014, 13:32 »

Ну, могли бы и пару строчек кода выложить, чтобы сразу видно стало, как это делается.  Непонимающий
это как раз тот случай, где не нужно, если человек за больше, чем год, не смог научиться пользоваться документацией и не понял системы в именах методов
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Alexu007
Гость
« Ответ #13 : Ноябрь 13, 2014, 16:56 »

это как раз тот случай, где не нужно, если человек за больше, чем год, не смог научиться пользоваться документацией и не понял системы в именах методов
Ну и что? Туповатый я. А програмировать хочется...  Плачущий

И ващ, мне уже разнадобилось читать из таблицы, я по другому делать буду. Но всё равно, gil9red спасибо. Пригодица.
« Последнее редактирование: Ноябрь 13, 2014, 16:58 от Alexu007 » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #14 : Ноябрь 13, 2014, 20:47 »

ну так работай над собой, а не морские бои пиши
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.087 секунд. Запросов: 23.