Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Behind the Scenes
  3. Wiki Discussion
  4. Singleton instance of QSplashScreen
Forum Update on Monday, May 27th 2025

Singleton instance of QSplashScreen

Scheduled Pinned Locked Moved Wiki Discussion
20 Posts 3 Posters 9.8k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    DenisKormalev
    wrote on 27 Sept 2010, 16:20 last edited by
    #6

    Mmm, QApplication is commonly initialized in main() method. Maybe you mean QSplashScreen? If yes, than I think it will be ok for you to init it in main() too.

    1 Reply Last reply
    0
    • A Offline
      A Offline
      alexander
      wrote on 28 Sept 2010, 07:59 last edited by
      #7

      @class MySplash : public QSplashScreen
      {
      Q_OBJECT
      public:
      explicit MySplash(QObject parent = 0);
      static MySplash
      instance();

      private:
      MySplash* _inst;
      }@
      .cpp
      @
      MySplash
      MySplash::_inst = 0;
      MySplash* MySplash::instance()
      {
      if ( !_inst )
      _inst = new MySplash();
      return _inst;
      }@

      1 Reply Last reply
      0
      • P Offline
        P Offline
        prakash02
        wrote on 29 Sept 2010, 12:23 last edited by
        #8

        @class SplashScreen : public QSplashScreen{

        public:

        static SplashScreen* getInstance();

        void destroyInstance();
        void SetSplashScreen();
        void SetMessage(const std::wstring& message);
        QString *splashMessage;
        CString progressText;

        private:
        QSplashScreen *hostSplash_;
        SplashScreen() {}

        ~SplashScreen(){}

        static SplashScreen* m_pInstance;

        };@.h file

        1 Reply Last reply
        0
        • P Offline
          P Offline
          prakash02
          wrote on 29 Sept 2010, 12:29 last edited by
          #9

          @SplashScreen* SplashScreen::m_pInstance = NULL;

          SplashScreen* SplashScreen::getInstance() {

          if(NULL == m_pInstance ) {

          m_pInstance = new SplashScreen();

          }
          return m_pInstance;
          }

          void SplashScreen::destroyInstance() {

          delete m_pInstance;
          m_pInstance = NULL;
          }

          void SplashScreen::SetMessage(const std::wstring& message ) {

          progressText = message.c_str();
          char pC = (char)(LPCTSTR)progressText ;
          splashMessage->append(QString::fromAscii(pC));
          hostSplash_->showMessage(*splashMessage);

          }
          void SplashScreen::SetSplashScreen() {
          hostSplash_ = new QSplashScreen(QPixmap(":Resource Files/splash.jpg"));
          }@

          1 Reply Last reply
          0
          • A Offline
            A Offline
            alexander
            wrote on 29 Sept 2010, 12:33 last edited by
            #10

            prakash02, and?

            1 Reply Last reply
            0
            • P Offline
              P Offline
              prakash02
              wrote on 29 Sept 2010, 12:35 last edited by
              #11

              This is .cpp file.

              I initialized the QApplication in main function, but my doubt does i can use the SplashScreen instance other than from main class.

              Any help is appreciable.Thanks in advance.

              1 Reply Last reply
              0
              • A Offline
                A Offline
                alexander
                wrote on 29 Sept 2010, 12:36 last edited by
                #12

                prakash02, @SplashScreen* SplashScreen::m_pInstance = NULL;@ it's C style, it's better to use C++ style:
                @SplashScreen* SplashScreen::m_pInstance = 0;@

                1 Reply Last reply
                0
                • A Offline
                  A Offline
                  alexander
                  wrote on 29 Sept 2010, 12:37 last edited by
                  #13

                  And why do you use std::wstring instead QString?

                  1 Reply Last reply
                  0
                  • P Offline
                    P Offline
                    prakash02
                    wrote on 29 Sept 2010, 12:42 last edited by
                    #14

                    I defined resource file of strings,now i want to use those messages to be display on QSplashScreen when the program execution calls that function which can be on different namespace or on different class.

                    1 Reply Last reply
                    0
                    • D Offline
                      D Offline
                      DenisKormalev
                      wrote on 29 Sept 2010, 12:45 last edited by
                      #15

                      Why do you use CString and std::wstring for setting/storing text? Why not QString? Also using CString and LPCTSTR type will break cross-platform compatibility.

                      1 Reply Last reply
                      0
                      • A Offline
                        A Offline
                        alexander
                        wrote on 29 Sept 2010, 12:48 last edited by
                        #16

                        Denis Kormalev. :)

                        1 Reply Last reply
                        0
                        • D Offline
                          D Offline
                          DenisKormalev
                          wrote on 29 Sept 2010, 12:48 last edited by
                          #17

                          2moderators of this section: please move this thread to more correspondent category (Desktop I think)

                          1 Reply Last reply
                          0
                          • A Offline
                            A Offline
                            alexander
                            wrote on 29 Sept 2010, 12:50 last edited by
                            #18

                            prakash02, how do you defiine resource file of strings?

                            1 Reply Last reply
                            0
                            • P Offline
                              P Offline
                              prakash02
                              wrote on 29 Sept 2010, 12:52 last edited by
                              #19

                              Yes i can use QString, but previously those are used to display on the native windows dialog.Now I want to change those to QT to improve the look and feel.

                              1 Reply Last reply
                              0
                              • A Offline
                                A Offline
                                alexander
                                wrote on 4 Oct 2010, 06:10 last edited by
                                #20

                                try to use QObject::tr("") for strings instead string table in resource file.

                                1 Reply Last reply
                                0

                                15/20

                                29 Sept 2010, 12:45

                                • Login

                                • Login or register to search.
                                15 out of 20
                                • First post
                                  15/20
                                  Last post
                                0
                                • Categories
                                • Recent
                                • Tags
                                • Popular
                                • Users
                                • Groups
                                • Search
                                • Get Qt Extensions
                                • Unsolved