Как установить QListWidget в определенную позицию

Как мне установить QListWidget в определенной позиции, скажем, у меня размер окна (1000,1000) и я хочу установить QListWidget в позиции (200,200).

    widget = new QWidget();
    setCentralWidget(widget);

    list1->setFixedSize(200,150);
    list1->addItem("Surya TV");
    list1->addItem("Sony TV");
    list1->addItem("Zee TV");

    vertical->addWidget(list1);
    widget->setLayout(vertical);

person Suresh    schedule 23.01.2014    source источник
comment
Не используйте макеты, если вам нужно фиксированное позиционирование.   -  person Dmitry Sazonov    schedule 23.01.2014
comment
Ok. тогда v может установить каждый ListWidget и Button в предопределенное положение?   -  person Suresh    schedule 23.01.2014


Ответы (2)


Вы можете использовать :

   void move ( int x, int y ) 

Что-то типа :

    p = new QListWidget(this);
    p->move(200,200);

В моем случае «это» — это QMainWindow. Помогает ли это?

person Metoo    schedule 23.01.2014
comment
нет братан. ListWidget по умолчанию находится в своей позиции по умолчанию. На самом деле я тоже установил CentralWidget - person Suresh; 23.01.2014
comment
Хорошо, тогда, поскольку у вас есть макет, вы не можете использовать метод перемещения. Это не поможет, я могу предложить другой способ - использовать QSpacerItem. Пример: QSpacerItem* pSpaceItem = новый QSpacerItem( 200, 200, QSizePolicy::Expanding, QSizePolicy::Minimum ); oLayout-›addItem(pSpacerItem );//oLayout имеет тип QVBoxLayout - person Metoo; 23.01.2014
comment
Еще одно изменение, которое вы должны внести в свой код, заключается в том, что вы не должны использовать метод SetFixedSize. Вместо этого вы можете использовать SetGeometry. - person Metoo; 23.01.2014
comment
@Rupesh Пожалуйста, перейдите по этой ссылке: qt-project.org/doc/qt-4.8 /layout.html. Здесь есть раздел для пользовательских виджетов в макетах, в котором очень четко описывается, как установить размер виджетов в макете. Но все эти методы, такие как SetGeometry, SetMinimumSize......будут НЕ работайте в макете. - person Metoo; 23.01.2014
comment
@Rupesh вот еще одна ссылка, говорящая о подобных вещах qt-project.org/forums/viewthread/ 6505 - person Metoo; 23.01.2014

Пожалуйста, используйте разделители с предопределенными размерами, чтобы дополнить список, если вы собираетесь использовать макеты. Лучше использовать макеты, если у вас есть больше виджетов вместе с listWidget в вашей основной форме. Если вы не уверены, используйте конструктор для создания форм. Это позволит вам иметь тот контроль, которого вы хотите достичь с точки зрения точного позиционирования. Хотя лично я не предпочитаю конструктор.

person petwolfe    schedule 23.01.2014