Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: trenkinan от Сентябрь 12, 2010, 17:17



Название: Растянуть QTableView на все окно
Отправлено: trenkinan от Сентябрь 12, 2010, 17:17
Итак, когда мне удалось сделать так, чтобы QTableView был очень близко к границе окна, если окно развернуть на весь экран то виджет сохранял пропорции и тоже растягивался. Возможно сумбурно объясняю, сильно не бить. Не подскажете, где это в дизайнере делать?


Название: Re: Растянуть QTableView на все окно
Отправлено: galilley от Сентябрь 12, 2010, 17:36
применить QGridLayout на форму?


Название: Re: Растянуть QTableView на все окно
Отправлено: trenkinan от Сентябрь 12, 2010, 17:44
а при чем здесь сетка?


Название: Re: Растянуть QTableView на все окно
Отправлено: trenkinan от Сентябрь 12, 2010, 18:22
К тому же такого в дизайнере применимо к TableView нет


Название: Re: Растянуть QTableView на все окно
Отправлено: galilley от Сентябрь 12, 2010, 18:29
а) это надо сделать применительно к форме кнопочкой на toolbox-е
б) из вашего объяснения вообще не понятно в чём проблема.


Название: Re: Растянуть QTableView на все окно
Отправлено: kibsoft от Сентябрь 12, 2010, 20:20
Вопрос задан непонятно, но могу предположить, что поможет setContentsMargins у лэйаута, на котором расположен QTableView. В этот метод нужно передать 4 нуля.
P.S. В дизайнере не пробовал.


Название: Re: Растянуть QTableView на все окно
Отправлено: trenkinan от Сентябрь 13, 2010, 20:17
Хочу, чтоб форма была по всему окну


Название: Re: Растянуть QTableView на все окно
Отправлено: trenkinan от Сентябрь 13, 2010, 20:22
Когда-то я это уже делал, не могу вспомнить , рою, но пока безуспешно


Название: Re: Растянуть QTableView на все окно
Отправлено: kibsoft от Сентябрь 13, 2010, 20:22
Как я понял - это QMainWindow..в дизайнере нельзя установить центральный виджет, поэтому используй setCentralWidget(tableview).


Название: Re: Растянуть QTableView на все окно
Отправлено: trenkinan от Сентябрь 13, 2010, 20:30
SetCentralWidget нужно вызвать применительно к объекту класса основного приложения... в main.cpp я не могу использовать обращение к приватному ui, Если TableView заменить на TableWidget все резко изменится?


Название: Re: Растянуть QTableView на все окно
Отправлено: trenkinan от Сентябрь 13, 2010, 20:54
я переместил объявление экземпляра класса Sirius из main.cpp  сразу за описание самого класса(в sirius.h), теперь пытаюсь в файле sirius.cpp (где есть #include "sirius.h")  проделать w.setCentralWidget(Main table) , но Sirius w просто не виден в этом файле, хотя, повторюсь заголовочный файл с описанием класса подключен


Название: Re: Растянуть QTableView на все окно
Отправлено: Kolobok от Сентябрь 13, 2010, 20:57
Не понимаю проблему. Если назначить родительскому виджету компоновщик, то все работает. Или ты не знаешь, как компоновщик назначить? Пример в аттаче.


Название: Re: Растянуть QTableView на все окно
Отправлено: trenkinan от Сентябрь 13, 2010, 21:14
На самом деле ты понял проблему, я действительно не могу врубить компоновщик... Из доступных пунктов только подогнать размер


Название: Re: Растянуть QTableView на все окно
Отправлено: Kolobok от Сентябрь 13, 2010, 21:47
Вызывай контекстное меню на родительском виджете, а не на QTableView, и будет тебе счастье.


Название: Re: Растянуть QTableView на все окно
Отправлено: trenkinan от Сентябрь 13, 2010, 22:05
спасибо