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 Updated to NodeBB v4.3 + New Features

Singleton instance of QSplashScreen

Scheduled Pinned Locked Moved Wiki Discussion
20 Posts 3 Posters 10.0k Views 1 Watching
  • 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.
  • 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

                              16/20

                              29 Sept 2010, 12:48

                              • Login

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