2013-08-09 3 views
2

Я хотел бы иметь фиксированный размер QGraphicsView, который я хочу добавить в макет вместе с некоторыми другими виджетами. Однако QGraphicsView просто игнорирует resize(), здесь соответствующий код:Как установить размер QGraphicsView?

QGraphicsScene* scene = new QGraphicsScene; 
QGraphicsView* view = new QGraphicsView(scene); 
view->setBackgroundBrush(QBrush(Qt::black, Qt::SolidPattern)); 
view->resize(1000, 600); 

QVBoxLayout* layout = new QVBoxLayout; 
layout->setMargin(0); 
layout->addWidget(view); 
setLayout(layout); 

Если я использую setFixedSize() вместо resize(), размер фактически установлен правильно. Однако кажется, что размер окна не обновляется, окно не центрируется должным образом.

Как я могу установить фиксированный размер для QGraphicsView?

ответ

0

Если я правильно понял, вы хотите, чтобы QGraphicsView находился внутри окна и имел фиксированный размер. Вам нужно, а затем VBoxLayout вы должны использовать QGridLayout с прокладками, так что ваша форма должна выглядеть следующим образом:

<Empty>  <VSpacer>  <Empty> 

<HSpacer> <GraphicsView> <HSpacer> 

<Empty>  <VSpacer>  <Empty> 
+0

Нет, я не хочу его центру, я просто хочу, чтобы иметь определенный размер. – futlib

+1

можете ли вы разместить скриншот с установленным setFixedSize? – evilruff

Смежные вопросы