1

ツールバーのボタンのすぐ下にQCalendarWidgetの位置を設定する方法を知りたいです。

現在、ユーザーが赤いボックス内のアイコン ボタンをクリックすると、 ここに画像の説明を入力

次に、以下の Calendar() インスタンスが作成され、インスタンスが画面の中央に表示されます。

ここに画像の説明を入力

実装したいのは以下のようなものです。

ここに画像の説明を入力

ここから完全なソース コードを参照できます。

提案やアドバイスをいただければ幸いです。

4

2 に答える 2

2

この機能は によってすでに提供されてQDateTimeEditいるため、別のボタンは必要ありません。

    def init_toolbar(self):
        ...
        dtedit = QtGui.QDateTimeEdit()
        dtedit.setCalendarPopup(True)

Qt ドキュメント: QDateTimeEdit.setCalendarPopup

于 2016-04-13T20:58:57.673 に答える
1

これは通常、QWidget.geometry()orQWidget.rect()を使用してウィジェット (この場合はクリックされたボタン) のサイズと位置を取得し、一連の関数QWidget.mapFromXXXとを使用してQWidget.mapToXXXそれらをグローバル座標に変換し、次にウィジェット座標に変換することで行われます。養われるQWidget.move()

于 2016-04-13T18:41:27.637 に答える