Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/35: Рейтинг темы: голосов - 35, средняя оценка - 4.94
1 / 1 / 0
Регистрация: 07.11.2014
Сообщений: 17
1

QTableWidget (несколько строк в ячейке)

02.12.2014, 01:35. Показов 6876. Ответов 14
Метки нет (Все метки)

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

Помогите пожалуйста, знающие.

Добавлено через 46 минут
tablewidget->setWordWrap(true) не помогает
resizeRowsToContents() тоже
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.12.2014, 01:35
Ответы с готовыми решениями:

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

QTableWidget 2 кнопки в ячейке
Знаю как добавить одну кнопку в ячейку таблицы, но мне нужно 2, пробовал через layout, но это не...

Виджет в ячейке QTableWidget
В ячейки помещаются виджеты (QSpinBox, но не суть) . К сигналу изменения спина коннектится слот. В...

QTableWidget (реагирование на клик по ячейке);
Всем привет, хотел спросить, как можно скрывать определенные кнопки на интерфейсе по клику мыши на...

14
Диссидент
Эксперт C
27709 / 17325 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
02.12.2014, 10:32 2
Попробуй
C++ (Qt)
1
  tablewidget->verticalHeader()->setResizeMode(QHeaderView::ResizeToContents);
0
596 / 396 / 79
Регистрация: 23.10.2013
Сообщений: 1,143
02.12.2014, 12:03 3
Вставьте в ячейку виджет QTextEdit и будет вам счастье.
0
1 / 1 / 0
Регистрация: 07.11.2014
Сообщений: 17
02.12.2014, 18:46  [ТС] 4
Байт, у меня почему-то нет поля setResizeMode.

alexey_rage, спасибо, попробую такую идею
0
Диссидент
Эксперт C
27709 / 17325 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
02.12.2014, 19:59 5
Цитата Сообщение от Livorni Посмотреть сообщение
Байт, у меня почему-то нет поля setResizeMode.
Это вообще-то метод. И у меня прекрасно работает. Была та же проблема. Может быть дело в версиях? У меня Qt 4.5. А у вас?
0
1 / 1 / 0
Регистрация: 07.11.2014
Сообщений: 17
02.12.2014, 20:03  [ТС] 6
Байт, у меня 5.3

И раз уж зашёл разговор о QTextEdit может подскажете, как сделать, чтобы при вводе текста увеличивался виджет вниз, а не появлялся скролл бар
0
Диссидент
Эксперт C
27709 / 17325 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
02.12.2014, 20:21 7
Цитата Сообщение от Livorni Посмотреть сообщение
Байт, у меня 5.3
Да... Значит моя нерешительность по поводу перехода на Пятерку вполне оправдана... Ибо сколько еще будет камешков под водой... Как всегда: Лучшее - враг Хорошего. Смертельный враг!

Добавлено через 10 минут
Цитата Сообщение от Livorni Посмотреть сообщение
И раз уж зашёл разговор о QTextEdit
Может быть заменить QLabel? ... Чур-чур меня! Его ж так просто не поредактируешь! Только через делегаты как-нибудь... Но это уже будет QTableView и там хлопот не оберешься.
Странно всетки, что мое предложение на пятерке не проходит. Должен же быть какой-то аналог! Не сложнее же должна становиться жизнь, а проще! Хотя, да, парадигмы меняются...

Добавлено через 1 минуту
Цитата Сообщение от Livorni Посмотреть сообщение
разговор о QTextEdit
Меня чего-то эта мысль не вдохновляет...
0
1 / 1 / 0
Регистрация: 07.11.2014
Сообщений: 17
02.12.2014, 20:38  [ТС] 8
Байт, QLabel отказывается переносить строки и увеличиваться
0
Диссидент
Эксперт C
27709 / 17325 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
02.12.2014, 20:41 9
Цитата Сообщение от Livorni Посмотреть сообщение
Байт, QLabel отказывается переносить строки и увеличиваться
Да, это вообще была бредовая мысль...
0
1 / 1 / 0
Регистрация: 07.11.2014
Сообщений: 17
02.12.2014, 20:55  [ТС] 10
Байт, setResizeMode написать получилось (теперь оно выглядит как setSectionResizeMode), а есть ли что-нибудь подобное для QTextEdit, чтобы увеличивать размер виджета зависимо от содержимого?
1
Диссидент
Эксперт C
27709 / 17325 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
03.12.2014, 08:51 11
Цитата Сообщение от Livorni Посмотреть сообщение
есть ли что-нибудь подобное для QTextEdit, чтобы увеличивать размер виджета зависимо от содержимого?
Не нашел. Тупо считаю, сколько нужно и - setGeometry.
Если найдешь - дай знать.
0
1 / 1 / 0
Регистрация: 07.11.2014
Сообщений: 17
03.12.2014, 17:02  [ТС] 12
Байт, не можешь подсказать, как считаешь сколько нужно? ибо всё, что я нашёл не совсем правильно работает
0
Диссидент
Эксперт C
27709 / 17325 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
03.12.2014, 17:34 13
Цитата Сообщение от Livorni Посмотреть сообщение
как считаешь сколько нужно?
C++ (Qt)
1
2
3
4
5
6
7
8
  QFontMetrics metr(font());
  int w = 40, h = 0;
  afc(i, x->ns) {  // Не обращай внимания. Это просто перебор всех строк (x->ss[i] - очередная строка в СЗ1261)
    QString sq = QString::fromLocal8Bit(x->ss[i]);
    QRect r = metr.boundingRect(sq);
    if (w < r.width()) w = r.width();
    h += r.height();
  }
Даю запас еще небольшой. Потом конечно подгоняю, чтоб было не больше экрана..
Мне особая точность здесь не нужна. Просто чтоб не очень глупо выглядело...
1
1 / 1 / 0
Регистрация: 07.11.2014
Сообщений: 17
04.12.2014, 01:24  [ТС] 14
Байт, спасибо, более менее работает, но с увеличением кол-ва строк, появляется и увеличивается пустое пространство (помимо текста) в виджете
0
Диссидент
Эксперт C
27709 / 17325 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
05.12.2014, 00:25 15
Цитата Сообщение от Livorni Посмотреть сообщение
более менее работает
Если найдешь что-нибудь получше - расскажи.

Добавлено через 14 часов 33 минуты
Livorni, Попробовал сделать так
C++ (Qt)
1
2
3
    QRect r = metr.boundingRect(s); // s - QString, который подается QTextWidget-у
    w = r.width();
    h = r.height();
Но получается полная чушь (нет высоты) boundingRect не ловит переводов строки '\n'. Видит весь текст как одну строчку
0
05.12.2014, 00:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.12.2014, 00:25
Помогаю со студенческими работами здесь

Состояние Checkstate в ячейке QTableWidget
Собственно как узнать его состояние? В смысле Qt::Checked или Qt::Unchecked checkbox в ячейке. Есть...

Выравнивание QCheckBox в ячейке QTableWidget
Доброго времени суток коллеги. Суть вопроса в следующем: В ячейке таблицы необходимо установить...

QTableWidget сигнал изменения виджета в ячейке
Qt 4.8.4 Есть таблица QTableWidget данных на строчек 20 не более. В ячейки этой таблицы с помощью...

QTableWidget кнопка и текст в 1 ячейке используя QTableWidgetItem
Собственно необходимо запихнуть кнопку для удаления в ячейку с текстом(текст и кнопка должны быть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru