Russian Qt Forum
Ноябрь 25, 2024, 00:20 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [Qt 4.2.x] Для Гуру по QTableWidget  (Прочитано 10850 раз)
goer
Гость
« : Май 24, 2007, 18:54 »

Многоуважаемый зогазчег [это место вырезано цензурой] пожелал чтоб ширина verticalHeader() в QTableWidget была фиксированной и не изменялась при изменении контента verticalHedar()-a. Кроме того оно захотело чтоб текст в verticalHeader()-е был выровнен по центру.

Собственно у меня реализация такой просьбы вызвала проблемы. Обращаюсь ко всем, кто может помочь - помогите (и можете считать себя гуру QTableWidget-a) сделать такое.

З.Ы. Как вариант конечно можно убрать хедеры вовсе и заюзать только ячейки QTableWidget-a (там есть способ установить фиксированную ширину колонки), но для этого прийдется приложить усилия и время.

З.Ы.Ы. Перед отправкой вот еще наткнулся на функции
int QHeaderView::verticalOffset () const и
int QHeaderView::horizontalOffset () const
может они помогут? Не знаю на что они влияют.

Спасибо всем кто примет участие.
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #1 : Май 24, 2007, 20:20 »

table->verticalHeader()->setResizeMode(QHeaderView::Fixed);
table->verticalHeader()->setDefaultAlignment(Qt::AlignCenter);

оно?
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #2 : Май 25, 2007, 18:01 »

а по дефолту по моему текст и так по центру равняется...
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
goer
Гость
« Ответ #3 : Май 26, 2007, 09:40 »

Цитировать
table->verticalHeader()->setDefaultAlignment(Qt::AlignCenter);


Это то, что нужно, спасибо еще раз!

Цитировать
able->verticalHeader()->setResizeMode(QHeaderView::Fixed);


Это влияет на политику ресайза именно секций, а мне нужно изменять ширину(для вертикального хедера) самого хедера!

Видимо прийдется отказаться от хееров и сделать все в самом TableView-е. Что ж, будет мне урок, как надо делать - не быстро, а чтоб оставлять побольше свободы действий на будущее...
Записан
goer
Гость
« Ответ #4 : Июнь 02, 2007, 10:05 »

Еще вопрос (до сих пор не отказался от хедеров).

Можно ли каким то образом получить доступ к левой верхней ячейке НЕ таблицы, а той что находится на пересечении хедеров? (На нее если нажимаешь, то выделяются ячейки таблицы) ?
Записан
zlatko
Гость
« Ответ #5 : Июнь 02, 2007, 11:42 »

cornerWidget()
Записан
goer
Гость
« Ответ #6 : Июнь 02, 2007, 12:30 »

Returns the widget in the corner between the two scroll bars.

Это не одно и тоже что between the two header views. Грустный

Попробовал - никакого эффекта.
Записан
mindz_eye
Гость
« Ответ #7 : Июнь 02, 2007, 17:59 »

Цитата: "goer"

Видимо прийдется отказаться от хееров и сделать все в самом TableView-е. Что ж, будет мне урок, как надо делать - не быстро, а чтоб оставлять побольше свободы действий на будущее...


Расслабься, все просто. Переопределяешь QHeaderView, в нем определяешь sizeHint() такой, какой тебе нужен. Ну и setVerticalHeader() в свою таблицу делаешь.
Записан
goer
Гость
« Ответ #8 : Июнь 02, 2007, 22:22 »

sizeHint() это кажется виджета метод? Пробовал работать с QHeaderView как с виджетом - устанавливать ему геометрию (через setGeometry()) никакого эффекта не получил. Сомневаюсь, что и с хинтом что то путное выйдет.

У меня тут уже отпала необходимость в фиксированной ширине, остальные проблемы похачил... спасибо всем за участие :-)
Записан
mindz_eye
Гость
« Ответ #9 : Июнь 03, 2007, 14:45 »

Цитата: "goer"
sizeHint() это кажется виджета метод? Пробовал работать с QHeaderView как с виджетом - устанавливать ему геометрию (через setGeometry()) никакого эффекта не получил. Сомневаюсь, что и с хинтом что то путное выйдет.

Нет, я имел ввиду отнаследовать QHeaderView. Работать это будет, иначе бы не писал.
Записан
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« Ответ #10 : Май 14, 2008, 18:31 »

В QT 3.3 как отменить изменение размера с помощью мышки?
Записан

Как мало времени и как много нужно узнать
em
Гость
« Ответ #11 : Май 20, 2008, 19:30 »

Подскажите как сделать высоту строк поменьше QTableWidget? А то по умолчанию они непривычно высокие...
И как можно отключить появление жирности у Хеадеров таблица при выделении элемента?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.059 секунд. Запросов: 23.