Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. [SOLVED] changing image using keypress
Forum Updated to NodeBB v4.3 + New Features

[SOLVED] changing image using keypress

Scheduled Pinned Locked Moved General and Desktop
28 Posts 3 Posters 8.1k 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.
  • S Offline
    S Offline
    sasireka
    wrote on last edited by
    #13

    [quote author="IamSumit" date="1412074165"]

    hi..
    this is not a right way.Because many of same instructions are repeating.

    you can optimize your code .You must create a method with parameter QString path
    e'g;
    @
    void ShowPicture(QString path)
    {
    QMovie *movie = new QMovie(path);
    QLabel *processLabel = new QLabel(this);
    ui->processLabel->setMovie(movie);
    movie->start();

                ui->label1->setText(QString::fromUtf8("chennai  சென்னை"));
                ui->label1->show();
    

    }
    @
    hope it helps[/quote]

    okay. How to call this function and where to call it.

    .................................
    Thanks & Regards

    Sasi

    .................................
    Go Green

    1 Reply Last reply
    0
    • S Offline
      S Offline
      sasireka
      wrote on last edited by
      #14

      i used like this getting error

      /home/dev6/Desktop/animation-build-desktop-Qt_4_8_1_in_PATH__System__Release/../animation/dialog.cpp:53: error: a function-definition is not allowed here before '{' token

      /home/dev6/Desktop/animation-build-desktop-Qt_4_8_1_in_PATH__System__Release/../animation/dialog.cpp:69: error: 'ShowPicture' was not declared in this scope

      @void Dialog::keyPressEvent(QKeyEvent *e)
      {

      void ShowPicture(QString path)
      {
                      QMovie *movie = new QMovie(path);
                      QLabel *processLabel = new QLabel(this);
                      ui->processLabel->setMovie(movie);
                      movie->start();
      
                      ui->label1->setText(QString::fromUtf8("chennai  சென்னை"));
                      ui->label1->show();
      }
      
      static int key_press = 0;
      
      if(e->key() == Qt::Key_F3)
      {
      
         // QString path = "/home/dev6/Desktop/animation/3.gif";
          ShowPicture("/home/dev6/Desktop/animation/3.gif");
          
      }@
      

      .................................
      Thanks & Regards

      Sasi

      .................................
      Go Green

      1 Reply Last reply
      0
      • IamSumitI Offline
        IamSumitI Offline
        IamSumit
        wrote on last edited by
        #15

        [quote author="sasireka" date="1412078116"]i used like this getting error

        /home/dev6/Desktop/animation-build-desktop-Qt_4_8_1_in_PATH__System__Release/../animation/dialog.cpp:53: error: a function-definition is not allowed here before '{' token

        /home/dev6/Desktop/animation-build-desktop-Qt_4_8_1_in_PATH__System__Release/../animation/dialog.cpp:69: error: 'ShowPicture' was not declared in this scope

        @void Dialog::keyPressEvent(QKeyEvent *e)
        {

        void ShowPicture(QString path)
        {
                        QMovie *movie = new QMovie(path);
                        QLabel *processLabel = new QLabel(this);
                        ui->processLabel->setMovie(movie);
                        movie->start();
        
                        ui->label1->setText(QString::fromUtf8("chennai  சென்னை"));
                        ui->label1->show();
        }
        
        static int key_press = 0;
        
        if(e->key() == Qt::Key_F3)
        {
        
           // QString path = "/home/dev6/Desktop/animation/3.gif";
            ShowPicture("/home/dev6/Desktop/animation/3.gif");
            
        }@[/quote]
        

        hi..
        After looking your code ...i think you are new to programming.are you?
        you are defining the method inside another method .this is not the correct
        way
        just call ShowPicture("/home/dev6/Desktop/animation/2.gif");
        then you will not face any error.
        hope it helps

        Be Cute

        1 Reply Last reply
        0
        • S Offline
          S Offline
          sasireka
          wrote on last edited by
          #16

          [quote author="IamSumit" date="1412079562"][quote author="sasireka" date="1412078116"]i used like this getting error

          /home/dev6/Desktop/animation-build-desktop-Qt_4_8_1_in_PATH__System__Release/../animation/dialog.cpp:53: error: a function-definition is not allowed here before '{' token

          /home/dev6/Desktop/animation-build-desktop-Qt_4_8_1_in_PATH__System__Release/../animation/dialog.cpp:69: error: 'ShowPicture' was not declared in this scope

          @void Dialog::keyPressEvent(QKeyEvent *e)
          {

          void ShowPicture(QString path)
          {
                          QMovie *movie = new QMovie(path);
                          QLabel *processLabel = new QLabel(this);
                          ui->processLabel->setMovie(movie);
                          movie->start();
          
                          ui->label1->setText(QString::fromUtf8("chennai  சென்னை"));
                          ui->label1->show();
          }
          
          static int key_press = 0;
          
          if(e->key() == Qt::Key_F3)
          {
          
             // QString path = "/home/dev6/Desktop/animation/3.gif";
              ShowPicture("/home/dev6/Desktop/animation/3.gif");
              
          }@[/quote]
          

          hi..
          After looking your code ...i think you are new to programming.are you?
          you are defining the method inside another method .this is not the correct
          way
          just call ShowPicture("/home/dev6/Desktop/animation/2.gif");
          then you will not face any error.
          hope it helps[/quote]

          good day. yes i am new to Qt programming. Okay i will do like this. Thanks Sumit. Give me a guide to learn Qt programming and library usage.

          .................................
          Thanks & Regards

          Sasi

          .................................
          Go Green

          1 Reply Last reply
          0
          • S Offline
            S Offline
            sasireka
            wrote on last edited by
            #17

            bq. hi..
            After looking your code ...i think you are new to programming.are you?
            you are defining the method inside another method .this is not the correct
            way
            just call ShowPicture("/home/dev6/Desktop/animation/2.gif");
            then you will not face any error.
            hope it helps[/quote]bq.

            i did like below. but getting errors.

            @void ShowPicture(QString path)
            {
            QMovie *movie = new QMovie(path);
            QLabel *processLabel = new QLabel(this);
            ui->processLabel->setMovie(movie);
            movie->start();

                        ui->label1->setText(QString::fromUtf8("chennai  சென்னை"));
                        ui->label1->show();
            

            }

            void Dialog::keyPressEvent(QKeyEvent *e)
            {

            if(e->key() == Qt::Key_F3)
            {
                    ShowPicture(”/home/dev6/Desktop/animation/2.gif”);
            }
            

            }@

            .................................
            Thanks & Regards

            Sasi

            .................................
            Go Green

            1 Reply Last reply
            0
            • IamSumitI Offline
              IamSumitI Offline
              IamSumit
              wrote on last edited by
              #18

              Hi .
              Can you show me your full code (including .h)?
              and tell me what errors you are getting also?

              Be Cute

              1 Reply Last reply
              0
              • S Offline
                S Offline
                sasireka
                wrote on last edited by
                #19

                [quote author="IamSumit" date="1412144476"]Hi .
                Can you show me your full code (including .h)?
                and tell me what errors you are getting also?

                [/quote]

                @#include "dialog.h"
                #include "ui_dialog.h"
                #include <QMovie>
                #include <QImage>
                #include <QFontDatabase>
                #include <QDebug>
                #include <QKeyEvent>

                Dialog::Dialog(QWidget *parent) :
                QDialog(parent),
                ui(new Ui::Dialog)
                {
                ui->setupUi(this);
                }

                Dialog::~Dialog()
                {
                delete ui;
                }

                void ShowPicture(QString path)
                {
                QMovie *movie = new QMovie(path);
                QLabel *processLabel = new QLabel(this);
                ui->processLabel->setMovie(movie);
                movie->start();

                            ui->label1->setText(QString::fromUtf8("chennai  சென்னை"));
                            ui->label1->show();
                

                }

                void Dialog::keyPressEvent(QKeyEvent *e)
                {

                if(e->key() == Qt::Key_F3)
                {
                        ShowPicture(”/home/dev6/Desktop/animation/2.gif”);
                }
                

                }@

                .................................
                Thanks & Regards

                Sasi

                .................................
                Go Green

                1 Reply Last reply
                0
                • IamSumitI Offline
                  IamSumitI Offline
                  IamSumit
                  wrote on last edited by
                  #20

                  ok.
                  ShowPicture(QString) is the member function/method of Dialog class.
                  i can't see proper definition of this method.
                  in line 21.
                  @
                  Replace void Dialog::ShowPicture(QString path)
                  @

                  and in .h file declare this method as member.
                  in .h file. add this line
                  @
                  public:
                  void ShowPicture(QString path);
                  @

                  and your oops basics are not clear.So, Please improve your basics first.

                  Hope it helps.

                  Be Cute

                  1 Reply Last reply
                  0
                  • S Offline
                    S Offline
                    sasireka
                    wrote on last edited by
                    #21

                    i tried . but still getting error

                    .................................
                    Thanks & Regards

                    Sasi

                    .................................
                    Go Green

                    1 Reply Last reply
                    0
                    • IamSumitI Offline
                      IamSumitI Offline
                      IamSumit
                      wrote on last edited by
                      #22

                      What errors ?

                      Be Cute

                      1 Reply Last reply
                      0
                      • S Offline
                        S Offline
                        sasireka
                        wrote on last edited by
                        #23

                        Good day.
                        [quote author="IamSumit" date="1412164041"]What errors ?[/quote]

                        @void Dialog::ShowPicture(QString path)
                        {
                        QMovie *movie = new QMovie(path);
                        QLabel *processLabel = new QLabel(this);
                        ui->processLabel->setMovie(movie);
                        movie->start();

                                    ui->label1->setText(QString::fromUtf8("chennai  சென்னை"));
                                    ui->label1->show();
                        

                        }

                        void Dialog::keyPressEvent(QKeyEvent *e)
                        {

                        if(e->key() == Qt::Key_F3)
                        {
                                ShowPicture(/home/dev6/Desktop/animation/2.gif);
                        }
                        

                        }@

                        errors:

                        1. /home/dev6/Desktop/animation-build-desktop-Qt_4_8_1_in_PATH__System__Release/../animation/dialog.cpp:70: error: invalid suffix "gif" on floating constant

                        2. * /home/dev6/Desktop/animation-build-desktop-Qt_4_8_1_in_PATH__System__Release/../animation/dialog.cpp:-1: In member function 'void Dialog::ShowPicture(QString)':
                        1
                        <* /home/dev6/Desktop/animation-build-desktop-Qt_4_8_1_in_PATH__System__Release/../animation/dialog.cpp:70: error: expected primary-expression before '/' token

                        2< /home/dev6/Desktop/animation-build-desktop-Qt_4_8_1_in_PATH__System__Release/../animation/dialog.cpp:70: error: 'home' was not declared in this scope

                        3< /home/dev6/Desktop/animation-build-desktop-Qt_4_8_1_in_PATH__System__Release/../animation/dialog.cpp:70: error: 'home' was not declared in this scope

                        4< /home/dev6/Desktop/animation-build-desktop-Qt_4_8_1_in_PATH__System__Release/../animation/dialog.cpp:70: error: 'Desktop' was not declared in this scope

                        5< /home/dev6/Desktop/animation-build-desktop-Qt_4_8_1_in_PATH__System__Release/../animation/dialog.cpp:70: error: 'animation' was not declared in this scope

                        .................................
                        Thanks & Regards

                        Sasi

                        .................................
                        Go Green

                        1 Reply Last reply
                        0
                        • IamSumitI Offline
                          IamSumitI Offline
                          IamSumit
                          wrote on last edited by
                          #24

                          Hi.
                          You are not passing a string .string always encloses " " quotes.
                          @
                          19.ShowPicture(/home/dev6/Desktop/animation/2.gif);
                          @
                          Correct it as .
                          ShowPicture("/home/dev6/Desktop/animation/2.gif");

                          Be Cute

                          1 Reply Last reply
                          0
                          • S Offline
                            S Offline
                            sasireka
                            wrote on last edited by
                            #25

                            [quote author="IamSumit" date="1412585094"]Hi.
                            You are not passing a string .string always encloses " " quotes.
                            @
                            19.ShowPicture(/home/dev6/Desktop/animation/2.gif);
                            @
                            Correct it as .
                            ShowPicture("/home/dev6/Desktop/animation/2.gif");
                            [/quote]

                            yes.. really i am so sorry.Thanks alot. great help.

                            .................................
                            Thanks & Regards

                            Sasi

                            .................................
                            Go Green

                            1 Reply Last reply
                            0
                            • S Offline
                              S Offline
                              sasireka
                              wrote on last edited by
                              #26

                              Thanks alot IamSumit IamSumit and all.

                              .................................
                              Thanks & Regards

                              Sasi

                              .................................
                              Go Green

                              1 Reply Last reply
                              0
                              • IamSumitI Offline
                                IamSumitI Offline
                                IamSumit
                                wrote on last edited by
                                #27

                                That's ok .

                                Now please Make your thread title as [SOLVED] so others could notify that solution has been found.:)

                                Be Cute

                                1 Reply Last reply
                                0
                                • S Offline
                                  S Offline
                                  sasireka
                                  wrote on last edited by
                                  #28

                                  [quote author="IamSumit" date="1412587771"]That's ok .

                                  Now please Make your thread title as [SOLVED] so others could notify that solution has been found.:)[/quote]

                                  yes.. done IamSumit. :)

                                  Happy Coding :)

                                  .................................
                                  Thanks & Regards

                                  Sasi

                                  .................................
                                  Go Green

                                  1 Reply Last reply
                                  0

                                  • Login

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