用于直接获取类VS调用类的实例的函数

时间:2011-06-12 02:49:31

标签: python qt pyqt

http://doc.qt.io/qt-5/qdesktopwidget.html#obtaining-a-desktop-widget

  

QApplication :: desktop()函数用于获取QDesktopWidget的实例。

我不明白为什么要使用QApplication::desktop(),直接拨打QDesktopWidget()课程。
有什么区别

desktop = QApplication.desktop() 

desktop = QDesktopWidget() 

它们看起来一样。但是,当使用QDesktopWidget()时,Windows(OS)会在退出时抛出警告。所以应该有一些区别。

他们有何不同?

1 个答案:

答案 0 :(得分:0)

它们可能看起来相同但不是。在C ++方面,静态desktop()函数使用单例模式 - 只有一个桌面,它由静态变量表示,可以(或可能不)根据请求创建。 QDesktopWidget()是一个构造函数,“外部世界”无法访问它以保证单例的唯一性。

相关问题