crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Resize окна в соотвесвии с размером внутреннего виджета.
tp4
  опции профиля:
сообщение 1.10.2009, 13:00
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 32
Регистрация: 1.10.2009
Пользователь №: 1128

Спасибо сказали: 1 раз(а)




Репутация:   0  


Окно программы представляет собой вертикальный лэйаут. Среди виджетов лэйаута имеются два контрола QLineEdit. Самый нижний виджет - QTableWidget. Как сделать, чтобы ширина основного окна измнялась в соответствии с шириной таблицы?
Пытался сделать следующее:
resize(ptbl->width(),this->size().height());

Но окно наоборот умньшается. Объясните мне, глупому, пожалуйста, что нитак?

p.s. программа ищет наибольшую общую подпоследовательсноть. безжалостная и грубая критика на тему прогроаммирования на с++ приветствуется.
http://ifolder.ru/14270870
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 1.10.2009, 13:05
Сообщение #2


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Цитата(tp4 @ 1.10.2009, 14:00) *
Как сделать, чтобы ширина основного окна измнялась в соответствии с шириной таблицы?

это что то простое.
код покажи здесь, пожалуйста.

П.С. я к примеру по файлобменникам с работы лазить не могу.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
tp4
  опции профиля:
сообщение 1.10.2009, 13:47
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 32
Регистрация: 1.10.2009
Пользователь №: 1128

Спасибо сказали: 1 раз(а)




Репутация:   0  


Код
Прикрепленные файлы
Прикрепленный файл  resource.qrc.txt ( 169 байт ) Кол-во скачиваний: 299
Прикрепленный файл  Validator.h.txt ( 490 байт ) Кол-во скачиваний: 291
Прикрепленный файл  main.cpp.txt ( 162 байт ) Кол-во скачиваний: 324
Прикрепленный файл  LCS.pro.txt ( 100 байт ) Кол-во скачиваний: 312
Прикрепленный файл  lcs.cpp.txt ( 13.49 килобайт ) Кол-во скачиваний: 407
Прикрепленный файл  lcs.h.txt ( 1.13 килобайт ) Кол-во скачиваний: 307
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 1.10.2009, 14:42
Сообщение #4


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


с таблицами мало работал.
видно, ЭТО(отсутствие реакции на изменение размера виджета) особенность QTableWidget

можно "заляпать" так
примерно:
int width,x,s = ptbl->columnCount();
for(x=0;x<s;++x) width = width + ptbl->columnWidth(x);
    qDebug()<<"x = "<<x;
    resize(width,height());

в slotSetColumnNames(QString str) слоте естественно.
можно посмотреть в сторону viewport() и проч.
просто, похоже размер таблицы это не есть ширина столбцов.

Сообщение отредактировал kwisp - 1.10.2009, 14:43
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
tp4
  опции профиля:
сообщение 1.10.2009, 22:52
Сообщение #5


Студент
*

Группа: Участник
Сообщений: 32
Регистрация: 1.10.2009
Пользователь №: 1128

Спасибо сказали: 1 раз(а)




Репутация:   0  


Цитата(kwisp @ 1.10.2009, 15:42) *
с
int width,x,s = ptbl->columnCount();
for(x=0;x<s;++x) width = width + ptbl->columnWidth(x);
    qDebug()<<"x = "<<x;
    resize(width,height());

Спасибо за вариант, запомню на всякий случай.

Посоветовали поиграться с QSizePolicy, но окозалось бесполезно, тк sizeHint таблицы возвращает все время одно и то же значение, не зависящее от ширины таблицы. Как быть?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 1.10.2009, 23:21
Сообщение #6


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Цитата(tp4 @ 1.10.2009, 23:52) *
Посоветовали поиграться с QSizePolicy,

я же говорю. это особенность QTableWidget. колличество и ширина столбцов не меняет его размера.

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 19.4.2024, 18:54