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

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: вопрос по QTableWidget  (Прочитано 7397 раз)
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.035 секунд. Запросов: 20.