Наложения виджетов Qt - PullRequest
       29

Наложения виджетов Qt

9 голосов
/ 25 октября 2009

Как мне наложить виджеты в Qt?

Я хочу создать некоторые виджеты и расположить их вне макета, но лучше изменить их размер и положение при изменении геометрии другого виджета.

Что-то вроде кнопок на скриншоте:

alt text

Ответы [ 3 ]

9 голосов
/ 26 октября 2009

Вам просто нужно создать свой QPushButton (или любой QWidget), указать его родительский QWidget и затем отобразить его.

Не добавляйте его в родительский макет, иначе вы не сможете переместить его так, как хотите.

Не забудьте указать его родителя, иначе он будет отображаться как независимый QWidget.

В этих условиях ваш QPushButton будет считаться дочерним элементом QWidget, но не членом макета родителя. Так что это будет «плавающий» дочерний элемент, и вы должны управлять его поведением при изменении размера родительского QWidget.

Если вам нужно унифицированное поведение для всех кнопок наложения, вы должны создать подкласс QLayout и переопределить членов bahaviour.

3 голосов
/ 25 октября 2009

Если они являются дочерними элементами виджета без макета, вы можете перемещать их по своему усмотрению, я думаю.

2 голосов
/ 10 ноября 2011

Мне нужен был такой виджет для проекта, над которым я работаю, поэтому я воспользовался советом Патриса и написал этот код (Python) PyQt4 Widget Overlay

...