Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Magister Yoda от Ноябрь 30, 2010, 14:28



Название: QTableWidget - свойства и функции. Вопросы
Отправлено: Magister Yoda от Ноябрь 30, 2010, 14:28
Есть 2 вопроса.
1. Как убрать колонку с именами строк?
2. Как сделать так чтобы ширина QTableWidget автоматически изменялась в зависимости от общей ширины колонок, то есть мне не нужен горизонтальный ползунок
(http://thumbnails27.imagebam.com/10881/573464108806183.jpg) (http://www.imagebam.com/image/573464108806183)


Название: Re: QTableWidget - свойства и функции. Вопросы
Отправлено: Пантер от Ноябрь 30, 2010, 14:35
tableWidget->verticalHeader ()->hide ()


Название: Re: QTableWidget - свойства и функции. Вопросы
Отправлено: Magister Yoda от Ноябрь 30, 2010, 14:47
большое спасибо. первый вопрос решен. остался второй...


Название: Re: QTableWidget - свойства и функции. Вопросы
Отправлено: crossly от Ноябрь 30, 2010, 15:04
[offtop]ответы на оба этих вопроса есть в документации .... а своей ленью и не желанием ее читать вы проявляете не уважение к участникам форума...[/offtop]
Цитировать
stretchLastSection


Название: Re: QTableWidget - свойства и функции. Вопросы
Отправлено: Magister Yoda от Ноябрь 30, 2010, 17:56
[offtop]ответы на оба этих вопроса есть в документации .... а своей ленью и не желанием ее читать вы проявляете не уважение к участникам форума...
я искал и в гугле, и в документации, и спрашивал - результата 0.[/offtop]
Цитировать
stretchLastSection
[offtop]так можно ответить на 90% вопросов на этом форуме... даже не так - не только на этом, а вообще на любом форуме[/offtop]
не понял как использовать stretchLastSection
Код
Python
self.Table.stretchLastSection(True)
верно? если да, то у меня пишет, QTableWidget не имеет такого атрибута


Название: Re: QTableWidget - свойства и функции. Вопросы
Отправлено: crossly от Ноябрь 30, 2010, 18:36
а вы бы проверили хотя бы к какому классу принадлежит метод....

если человек задал вопрос на форуме то предполагается:
1. Он внимательно изучил документацию.
2. Он обратился к поиску (гугль, поиск по форуму и т.д.).

Но вы даже перед применением не удосужились взглянуть на доку...


Название: Re: QTableWidget - свойства и функции. Вопросы
Отправлено: deaks от Ноябрь 30, 2010, 18:48
примерно так
Код:
QTableWidget::horizontalHeader()->setResizeMode(0, QHeaderView::stretchLastSection(true));


Название: Re: QTableWidget - свойства и функции. Вопросы
Отправлено: Magister Yoda от Ноябрь 30, 2010, 19:18
Код
Python
self.Table.horizontalHeader().setResizeMode(0, QHeaderView.stretchLastSection(True))
пишет
Цитировать
TypeError: QHeaderView.stretchLastSection(): first argument of unbound method must have type 'QHeaderView'


Название: Re: QTableWidget - свойства и функции. Вопросы
Отправлено: deaks от Ноябрь 30, 2010, 19:31
пардон, неправильно написал, надо так
Код:
QTableWiget::horizontalHeader()->setResizeMode(0, QHeaderView::Stretch);

в вашем случае будет так

Код:
self.Table.horizontalHeader().setResizeMode(0, QHeaderView::Stretch)


Название: Re: QTableWidget - свойства и функции. Вопросы
Отправлено: Magister Yoda от Ноябрь 30, 2010, 20:10
спасибо. но это не совсем то что надо... эта функция подгоняет размер колонок под размер QTableWidget'а, а не наоборот...
мне надо чтобы QTableWidget ресайзился.
P.S. видимо стрелочка на рисунке ввела в заблуждение.


Название: Re: QTableWidget - свойства и функции. Вопросы
Отправлено: deaks от Декабрь 01, 2010, 10:45
интересно)))никогда не встречал чтобы таблицы под размер колонок подгонялись))


Название: Re: QTableWidget - свойства и функции. Вопросы
Отправлено: GreatSnake от Декабрь 01, 2010, 10:52
self.Table.horizontalHeader().setResizeMode(QHeaderView::Stretch)


Название: Re: QTableWidget - свойства и функции. Вопросы
Отправлено: Magister Yoda от Декабрь 01, 2010, 13:01
self.Table.horizontalHeader().setResizeMode(QHeaderView::Stretch)
это просто все колонки делает одинаковыми и подгоняет общую ширину под ширину QTableWidget. опять не то так что :'(


Название: Re: QTableWidget - свойства и функции. Вопросы
Отправлено: GreatSnake от Декабрь 01, 2010, 13:14
Ну тогда
self.Table.horizontalHeader().setResizeMode(QHeaderView::ResizeToContents)

А что описание QHeaderView не судьба прочитать?


Название: Re: QTableWidget - свойства и функции. Вопросы
Отправлено: Magister Yoda от Декабрь 01, 2010, 14:11
Ну тогда
self.Table.horizontalHeader().setResizeMode(QHeaderView::ResizeToContents)

А что описание QHeaderView не судьба прочитать?
Код
Python
self.Table.resizeColumnsToContents()
self.Table.horizontalHeader().setResizeMode(QHeaderView.ResizeToContents)
вот так делаю. первая колонка содержит число - когда оно 1-о или 2-ухзначное - всё нормально. 3-хзначные уже заменяются на "..." то есть - опять не то.


Название: Re: QTableWidget - свойства и функции. Вопросы
Отправлено: Magister Yoda от Декабрь 01, 2010, 16:52
собственно - а зачем мне размер шапки то подгонять? QHeaderView - это ж шапка.
мне  нужно подгонять размер QTableWidget


Название: Re: QTableWidget - свойства и функции. Вопросы
Отправлено: Magister Yoda от Декабрь 01, 2010, 20:37
нашел решение проблемы. УРА!
Код
Python
a = 0
for i in xrange(0, 3):
   a += self.Table.horizontalHeader().sectionSize(i)
a += 19
self.Table.setMinimumWidth(a)
self.Table.setMaximumWidth(a)
откуда +19? 4 пикселя - это границы колонок + 15 пикселей ползунок.


Название: Re: QTableWidget - свойства и функции. Вопросы
Отправлено: Пантер от Декабрь 01, 2010, 20:38
Ты уверен, что размеры (4 и 15) одинаковы в разных стилях? ;)


Название: Re: QTableWidget - свойства и функции. Вопросы
Отправлено: Magister Yoda от Декабрь 01, 2010, 20:40
а я стиль менять не буду, вот и всё =)


Название: Re: QTableWidget - свойства и функции. Вопросы
Отправлено: deaks от Декабрь 02, 2010, 13:58
однако топорный метод)


Название: Re: QTableWidget - свойства и функции. Вопросы
Отправлено: Magister Yoda от Декабрь 02, 2010, 17:30
однако топорный метод)
а ты знаешь другой?
лучше топорный, чем никакой


Название: Re: QTableWidget - свойства и функции. Вопросы
Отправлено: crossly от Декабрь 03, 2010, 10:02
это называется "Гора идет к Магамеду"... что не естественно...