crossplatform.ru

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

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> Как установить необходимую и достаточную ширину для талицы ?
flankerr
  опции профиля:
сообщение 31.3.2011, 17:09
Сообщение #1


Активный участник
***

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

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




Репутация:   0  


Есть диалог на нём расположен QTableView.
Как узнать необходимую ширину QTableView чтобы все колонки были видны (без горизонтальной полосы прокрутки) ?
Сумма всех ширин колонок меньше искомой велечины.

зы
Изменять ширину колонок нельзя! Надо изменить (подогнать) ширину окна.

Сообщение отредактировал flankerr - 1.4.2011, 10:31
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
vankleef
  опции профиля:
сообщение 31.3.2011, 19:58
Сообщение #2


Студент
*

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

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




Репутация:   1  


может немного не в тему, но
view->horizontalHeader()->setResizeMode(int columnNo,QHeaderView::Stretch);
или
view->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
растягивает столбец(столбцы) по ширине QtableView.
и, по идее, при изменении размера всего окна пропорционально будет изменяться ширина виджета => колонок

Сообщение отредактировал vankleef - 31.3.2011, 20:00
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
abc
  опции профиля:
сообщение 31.3.2011, 20:00
Сообщение #3


Участник
**

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

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




Репутация:   4  


сумма всех ширин колонок + чутьчуть :D
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
flankerr
  опции профиля:
сообщение 1.4.2011, 9:54
Сообщение #4


Активный участник
***

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

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




Репутация:   0  


Цитата(vankleef @ 31.3.2011, 20:58) *
может немного не в тему, но view->horizontalHeader()->setResizeMode(int columnNo,QHeaderView::Stretch);

Это совсем мимо.

Цитата(abc @ 31.3.2011, 21:00) *
сумма всех ширин колонок + чутьчуть :D

Нет уж нет уж! :D Эти "чутьчуть" потом там гемором выходят - туши свет ! :o:

Сообщение отредактировал flankerr - 1.4.2011, 9:54
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
madnessw
  опции профиля:
сообщение 1.4.2011, 10:18
Сообщение #5


Студент
*

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

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




Репутация:   0  


resizeColumnsToContents();
или в ручную

for (int i=0;i<columnCount();i++)
{
setColumnWidth(i,frameWidth()/columncount());
}

примерно так
(лень правильно писать)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
flankerr
  опции профиля:
сообщение 1.4.2011, 10:30
Сообщение #6


Активный участник
***

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

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




Репутация:   0  


Цитата(madnessw @ 1.4.2011, 11:18) *
resizeColumnsToContents();
или в ручную
for (int i=0;i<columnCount();i++)
{
setColumnWidth(i,frameWidth()/columncount());
}
примерно так
(лень правильно писать)

Мне надо установить ширину окна, а ты предлогаешь изменить ширину колонок. Причём два твоих варианта решают разные задачи! ;)
Первый случай подгняет ширину колонок под содержимое и игнорирует ширину окна, т.е. все колонки могут и не поместиться в окне или наоборот стать значительно меньше ширины окна.
Второй способ - это эдакий ручной стреч.

В общем ты совсем не понял моего вопроса ;)

Сообщение отредактировал flankerr - 1.4.2011, 10:35
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
vankleef
  опции профиля:
сообщение 1.4.2011, 11:36
Сообщение #7


Студент
*

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

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




Репутация:   1  


ну вот ты по-человечески вопрос свой написал.
а если ширина всего окна получится больше разрешения экрана?

считаешь ширину виджета, ширину окна, "чуть чуть"="ширина окна" - "ширина виджета".
ставишь размер окна на ширину виджета + чутьчуть, как и было написано и никакого гемороя.

Сообщение отредактировал vankleef - 1.4.2011, 11:36
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
flankerr
  опции профиля:
сообщение 1.4.2011, 13:08
Сообщение #8


Активный участник
***

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

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




Репутация:   0  


Вопорос задан правильно, но пришлось поставить акцент на очевидный факт если внимательно прочитать вопрос :)

Ещё заз скажу что "чуть-чуть" худо бедно годиться только если ты пишешь приложения для одного единственного комппьютера в котором все настройки визуализации коснтанты. Онако стоит изменить настройки визуализации интерфейса (шрифт, тему и т.п. и тд.) и все эти "чуть-чуть" полетят к едрене фене. Поэтому все эти эмпирические вычсиления и подгонки на глазок полная фигня и этого надо всячески избегать.

Если ширина всего окна получиться больше ширины разрешения рабочего экоана значит так тому и быть ;) Это уже совсем другая история.

Сообщение отредактировал flankerr - 1.4.2011, 13:11
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
abc
  опции профиля:
сообщение 1.4.2011, 13:17
Сообщение #9


Участник
**

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

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




Репутация:   4  


ну, я всё-таки не соглашусь, потому как сумму всех колонок на любом компе Qt посчитает правильно, а тебе останется только добавить чуть-чуть, я думаю, что это "чуть-чуть", если оно не зависит от кромок колонок, то есть от количества колонок, будет константно.. В дизайнере попробуй QTableWidget - если сжать его до уровня конца последней колонки, при предпросмотре увидишь горизонтальную прокрутку, а если добавить чуть-чуть, всё будет хорошо... добавь чуть-чуть, не ерепенься!! :ireful:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
flankerr
  опции профиля:
сообщение 1.4.2011, 16:09
Сообщение #10


Активный участник
***

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

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




Репутация:   0  


Цитата(abc @ 1.4.2011, 14:17) *
ну, я всё-таки не соглашусь,
Повторюсь! Ты мыслишь в рамках одной конкретной системы с одними конректными настройками визуализации. Предположим WInXP тема "луна" но в линухе или Win7 уже всё по другому будет да в той же WinXP с другой темой может быть всё по другому.
Впрочем у меня нет задачи убеждать кого либо ;) Когда столкнёшься тогда сам поймёшь. Но всё равно спасибо за участие.

to ALL:
Проблема есть, решения пока нет. Надеюсь услышать коснтруктивные мысли для решения задачи.


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

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


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




RSS Текстовая версия Сейчас: 28.3.2024, 17:39