![]() |
|
Модераторы: xvr |
![]()
|
|
| Kurt |
|
|||
|
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: нет Всего: 36 |
Qt3. Пытаюсь разобраться с QTable.
Создаю так (в конструкторе виджета):
Возникает проблемка с заголовками столбцов - я устанавливаю довольно большую высоту заголовка (50!), но названия все равно отрисовываются где-то там сверху (см. первый файл). И лишь когда я ставлю высоту хедера в 70 пикселей, он наконец-то соизволяет отобразиться, но при этом куча места под лейблом заголовка. (см. 2-й файл). Подскажите, что я делаю не так? Мне нужен обычный заголовок, чтоб лейблы влезали, а сам заголовок был чуть больше, чем надписи, к-е он содержит. Как убрать этот отступ снизу? 1) Присоединённый файл ( Кол-во скачиваний: 13 )
0.jpg 6,26 Kb-------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
| Kurt |
|
|||
|
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: нет Всего: 36 |
-------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 5 Всего: 134 |
На рисунке виден MenuBar, в коде нет.
Если создаваемый виджет наследуется от QMainWindow, то замени 5ую строку на
Если таблица и иже с ней являются отдельным виджетом то смотри как этот самый виджет размещается. -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| Kurt |
|
||||
|
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: нет Всего: 36 |
Я не думал, что в данном случае это важно.
Нет, я наследуюсь просто от QWidget. Добавлено @ 15:17 Кстати, QMenuBar тоже следует добавлять в QVBoxLayout? Или это не обязательно? Я хочу, чтоб виджеты на форме располагались в один столбец - пока тут просто таблица (т.е. один виджет), но дальше будет хуже.. ээ.. т.е. лучше. Хотя пофиг, я и так и так пробовал - без изменений. -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
||||
|
|||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 1 Всего: 71 |
Попробуй для начала просто грубо вызвать setGeometry, сделать таблицу чуть пониже, может меню на заголовок заезжает...
Это сообщение отредактировал(а) Perchilla - 9.7.2005, 15:33 |
|||
|
||||
| Mayk |
|
||||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 5 Всего: 134 |
Ага, допёрло. Никаких QDialog'ов и QMainWindow'ов нет...
Обязательно. Иначе у тебя два виджета ложатся на координату (0,0). -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
||||
|
|||||
| Kurt |
|
|||
|
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: нет Всего: 36 |
Блин, без MenuBar'а все ОК. Пытаюсь понять почему..
Кому интересно, вот полный код имплементации моего класса MainWindow (сделан специально для тестов
-------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 5 Всего: 134 |
Одназначно вопрос на 5. Такое ощущение, что QT использует заголовок окна как часть своего виджета.
Зато если заменить setGeomertry() на setMinimumSize(300,200); move(100,100) всё работает А вообще используй QMainWindow, чтоб не мучаться Изменения:
-------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| Kurt |
|
||||||||||
|
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: нет Всего: 36 |
Что-то не то..
Наследовался от QMainWindow, сделал изменения, что ты указал. В итоге при запуске получаю:
Вот код, с к-м эксперементирую:
Причем, если строчку
меняю на
приложение запускается (с тем же траблом, что и послужил темой топика!), но вдобавок в терминале выводит:
Сейчас буду пробовать вариант с setMinimumSize() и move(), но как-то.. хм.. как минимум, некрасиво. Добавлено @ 21:48 Проверил. C setMinimumSize() и move() работает, но только для QWidget - для QMainWindow все тот же баг. -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
||||||||||
|
|||||||||||
| DrLazy |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 8.7.2005 Репутация: нет Всего: нет |
Оффтопик конечно, но вот именно из за таких затыков и не использую "стандартные" библиотеки классов.
|
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 5 Всего: 134 |
Kurt
Вот это замени на _menuBar=menuBar(). Это сообщение отредактировал(а) Mayk - 10.7.2005, 05:30 -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| Kurt |
|
|||
|
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: нет Всего: 36 |
Понял. Благодарю.
Все заработало. Хотя все же интересно с QWidget получилось.. -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
| Kurt |
|
|||
|
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: нет Всего: 36 |
Не хочу ради этого создавать новый топик...
Вот я добавил таблицу на QMainWindow. А как сделать, чтоб при изменении размеров окна таблица тоже изменялась? А то сейчас у нее статические размеры. Я думал, что этим как раз и занимается QVBoxLayout. Или тут нужен другой layout? Или надо какой-то сигнал обработать? -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
| Mayk |
|
||||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 5 Всего: 134 |
box=layout() выкидываем за ненадобностью.
Вот это заменяем на setCentralWidget(table). Теперь таблица стоит центральным виджетом и ресайзится на ура. Это плюс. Если делать на вырост, то можно создать QVBox, запихнуть в него Table, прочую ерунду и QVBox сделать центральным виджетом. Или альтернативный вариант - сделать новый класс MainWidget от QWidget'а, в нём делать что угодно, и запихать этот класс в MainWindow. А вот все эти телодвижения по созданию классов имхо минус... Особенно если MainWidget создавать. Это сообщение отредактировал(а) Mayk - 11.7.2005, 20:06 -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
||||
|
|||||
| Kurt |
|
|||
|
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: нет Всего: 36 |
Qt у меня сейчас нет (я не со своего компа пишу), но уточни - QVBoxLayout ВООБЩЕ убрать?
-------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |