ツールバーのボタンのすぐ下にQCalendarWidgetの位置を設定する方法を知りたいです。
現在、ユーザーが赤いボックス内のアイコン ボタンをクリックすると、
次に、以下の Calendar() インスタンスが作成され、インスタンスが画面の中央に表示されます。
実装したいのは以下のようなものです。
ここから完全なソース コードを参照できます。
提案やアドバイスをいただければ幸いです。
この機能は によってすでに提供されてQDateTimeEdit
いるため、別のボタンは必要ありません。
def init_toolbar(self):
...
dtedit = QtGui.QDateTimeEdit()
dtedit.setCalendarPopup(True)
Qt ドキュメント: QDateTimeEdit.setCalendarPopup。
これは通常、QWidget.geometry()
orQWidget.rect()
を使用してウィジェット (この場合はクリックされたボタン) のサイズと位置を取得し、一連の関数QWidget.mapFromXXX
とを使用してQWidget.mapToXXX
それらをグローバル座標に変換し、次にウィジェット座標に変換することで行われます。養われるQWidget.move()