2016-04-13 37 views
1

我想知道如何设置QCalendarWidget在ToolBar按钮下方的位置。如何在PyQt4应用程序中获取QToolBar图标的坐标?

目前,当用户点击内部红框一个图标按钮, enter image description here

然后创建下面日历()实例和实例在屏幕中间显示。

enter image description here

我想实现是像下面这样。

enter image description here

您可以从here参考完整的源代码。

任何建议或意见将不胜感激。

回答

2

这个功能已经被QDateTimeEdit提供的,所以你不需要为它一个单独的按钮控件坐标:

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

Qt的文档: QDateTimeEdit.setCalendarPopup

+0

谢谢!你介绍的方法是我想要的。 – user1913171

1

这通常与使用QWidget.geometry()QWidget.rect()获得窗口小部件的大小和位置(在这种情况下,点击按钮),然后使用QWidget.mapFromXXXQWidget.mapToXXX一系列功能的组合完成,以改变这些成全球坐标,然后转换成可以被输送到QWidget.move()