#ifndef Toolbox_Singleton_Widget_H #define Toolbox_Singleton_Widget_H #include namespace Toolbox { template class Singleton_Widget { public: static T *instance() { if (!instance) { qInfo() << "error Singleton_Widget 未创建" << instance; } return instance; } Singleton_Widget() { if (instance) { qInfo() << "error Singleton_Widget 重复创建" << instance; } instance = static_cast(this); } virtual ~Singleton_Widget() {} Singleton_Widget(T &&) = delete; Singleton_Widget(const T &) = delete; void operator=(const T &) = delete; protected: static T *instance; }; template T *Singleton_Widget::instance = nullptr; } #endif