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. How Can I make Clickable Label in My Project

How Can I make Clickable Label in My Project

Scheduled Pinned Locked Moved Solved General and Desktop
19 Posts 5 Posters 5.4k 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.
  • Ketan__Patel__0011K Offline
    Ketan__Patel__0011K Offline
    Ketan__Patel__0011
    wrote on last edited by
    #1

    My Baseclass is Mainwindow

    i shown some review but they are using QLabel as a Baseclass

    i am try to slove this issue using connect() function

    help me:

    Thanks in Advanced

    1 Reply Last reply
    0
    • Ketan__Patel__0011K Ketan__Patel__0011

      @mrjj please Can you share me a Full code of project ?
      like Header file as well as source file code

      A Offline
      A Offline
      anil_arise
      wrote on last edited by
      #16

      @Ketan__Patel__0011 Example :
      Clickable QLabel

      this link will be active for 2 days;
      you need to use promote widget after add widget header and class name (**right click options in ui file)

      Screenshot_2020-02-17_16-01-21.png

      Ketan__Patel__0011K 2 Replies Last reply
      2
      • mrjjM Offline
        mrjjM Offline
        mrjj
        Lifetime Qt Champion
        wrote on last edited by
        #2

        Hi
        Did you try this sample ?
        https://wiki.qt.io/Clickable_QLabel

        It will make your own QLabel and then you use that in your MainWindow to click on.

        Ketan__Patel__0011K 1 Reply Last reply
        4
        • mrjjM mrjj

          Hi
          Did you try this sample ?
          https://wiki.qt.io/Clickable_QLabel

          It will make your own QLabel and then you use that in your MainWindow to click on.

          Ketan__Patel__0011K Offline
          Ketan__Patel__0011K Offline
          Ketan__Patel__0011
          wrote on last edited by
          #3

          @mrjj i was used this reference It works good But i want to set click-event only particular label

          i was used Connect function for any particular label and run my project now i will click any label it will effect each and every label

          mrjjM 1 Reply Last reply
          0
          • Ketan__Patel__0011K Ketan__Patel__0011

            @mrjj i was used this reference It works good But i want to set click-event only particular label

            i was used Connect function for any particular label and run my project now i will click any label it will effect each and every label

            mrjjM Offline
            mrjjM Offline
            mrjj
            Lifetime Qt Champion
            wrote on last edited by
            #4

            @Ketan__Patel__0011

            Well then something went wrong then as it really is pr label.
            If you dont connect the label, clicking it will do nothing.

            • now i will click any label it will effect each and every label

            Then there is bug in your code. Connecting one instance of the label
            will not affect any other.

            Please show the code so we can correct it. :)

            Ketan__Patel__0011K 1 Reply Last reply
            4
            • mrjjM mrjj

              @Ketan__Patel__0011

              Well then something went wrong then as it really is pr label.
              If you dont connect the label, clicking it will do nothing.

              • now i will click any label it will effect each and every label

              Then there is bug in your code. Connecting one instance of the label
              will not affect any other.

              Please show the code so we can correct it. :)

              Ketan__Patel__0011K Offline
              Ketan__Patel__0011K Offline
              Ketan__Patel__0011
              wrote on last edited by
              #5

              @mrjj

              I am Take A Three Label, in my ui

              ****************** My header files like this *********************
              #ifndef MAINWINDOW_H
              #define MAINWINDOW_H

              #include <QMainWindow>
              #include <QMouseEvent>
              #include <QMessageBox>
              #include <QDebug>

              namespace Ui {
              class MainWindow;
              }

              class MainWindow : public QMainWindow
              {
              Q_OBJECT

              public:
              explicit MainWindow(QWidget *parent = nullptr);
              ~MainWindow();

              private:
              Ui::MainWindow *ui;

              signals:
              void clicked();

              protected:
              void mousePressEvent(QMouseEvent* event);

              };

              #endif // MAINWINDOW_H


              ****************** My Sources file like this *********************

              #include "mainwindow.h"
              #include "ui_mainwindow.h"

              MainWindow::MainWindow(QWidget *parent) :
              QMainWindow(parent),
              ui(new Ui::MainWindow)
              {
              ui->setupUi(this);
              connect(ui->label,SIGNAL(clicked()),this,SLOT(mousePressEvent()));
              }

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

              void MainWindow::mousePressEvent(QMouseEvent *event)
              {
              QMessageBox::information(this,"Message","WELCOME");
              emit clicked();
              }


              when i click any label message will be raised

              but i want this message for any only label1

              please Help Me for slove this problem

              1 Reply Last reply
              0
              • SGaistS Offline
                SGaistS Offline
                SGaist
                Lifetime Qt Champion
                wrote on last edited by
                #6

                Hi,

                It has absolutely nothing to do with your labels. Wherever you'll click on the MainWindow it will show that message.

                If you only what to act on a specific QLabel either make that one use the custom class suggested by @mrjj or use an event filter to act only on that QLabel.

                Interested in AI ? www.idiap.ch
                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                Ketan__Patel__0011K 1 Reply Last reply
                5
                • SGaistS SGaist

                  Hi,

                  It has absolutely nothing to do with your labels. Wherever you'll click on the MainWindow it will show that message.

                  If you only what to act on a specific QLabel either make that one use the custom class suggested by @mrjj or use an event filter to act only on that QLabel.

                  Ketan__Patel__0011K Offline
                  Ketan__Patel__0011K Offline
                  Ketan__Patel__0011
                  wrote on last edited by
                  #7

                  @SGaist no i will just click on label then message is raised

                  or any other location i clicked that time message will not raised

                  1 Reply Last reply
                  0
                  • Christian EhrlicherC Offline
                    Christian EhrlicherC Offline
                    Christian Ehrlicher
                    Lifetime Qt Champion
                    wrote on last edited by
                    #8

                    @Ketan__Patel__0011 said in How Can I make Clickable Label in My Project:

                    no i will just click on label then message is raised

                    I would dobut that since you connect the qlabel to a slot which is called on every mouse click as explained in the documentation. Use another slot name.

                    Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                    Visit the Qt Academy at https://academy.qt.io/catalog

                    Ketan__Patel__0011K 1 Reply Last reply
                    3
                    • Christian EhrlicherC Christian Ehrlicher

                      @Ketan__Patel__0011 said in How Can I make Clickable Label in My Project:

                      no i will just click on label then message is raised

                      I would dobut that since you connect the qlabel to a slot which is called on every mouse click as explained in the documentation. Use another slot name.

                      Ketan__Patel__0011K Offline
                      Ketan__Patel__0011K Offline
                      Ketan__Patel__0011
                      wrote on last edited by
                      #9

                      @Christian-Ehrlicher
                      sir

                      Can you make One Example For Me ?

                      plzzz

                      1 Reply Last reply
                      0
                      • Christian EhrlicherC Offline
                        Christian EhrlicherC Offline
                        Christian Ehrlicher
                        Lifetime Qt Champion
                        wrote on last edited by
                        #10

                        @Ketan__Patel__0011 said in How Can I make Clickable Label in My Project:

                        Can you make One Example For Me ?

                        Of what? creating a member function with a different name than 'mousePressEvent()'? What's the problem?

                        Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                        Visit the Qt Academy at https://academy.qt.io/catalog

                        1 Reply Last reply
                        2
                        • mrjjM Offline
                          mrjjM Offline
                          mrjj
                          Lifetime Qt Champion
                          wrote on last edited by mrjj
                          #11

                          Hi
                          Several things are wrong
                          If you are using a plain QLabel, it wont have a clicked signal.
                          Only using the class in the link it will have it. a plain QLabel cannot be clicked.

                          So lets say you ARE using the new class then this can work.

                          connect(ui->label,SIGNAL(clicked()),this,SLOT(LabelClicked()));
                          
                          void MainWindow::LabelClicked()
                          {
                          QMessageBox::information(this,"Message","WELCOME");
                          }
                          

                          The reason it shows the message anywhere you click currently is due to the fact you added
                          void MainWindow::mousePressEvent(QMouseEvent *event)
                          for the MAINWINOW do it will trigger anywhere you click on it.
                          So its only useful if you where to click anywhere on the whole Mainwindow and not
                          on any labels.

                          Ketan__Patel__0011K 1 Reply Last reply
                          3
                          • mrjjM mrjj

                            Hi
                            Several things are wrong
                            If you are using a plain QLabel, it wont have a clicked signal.
                            Only using the class in the link it will have it. a plain QLabel cannot be clicked.

                            So lets say you ARE using the new class then this can work.

                            connect(ui->label,SIGNAL(clicked()),this,SLOT(LabelClicked()));
                            
                            void MainWindow::LabelClicked()
                            {
                            QMessageBox::information(this,"Message","WELCOME");
                            }
                            

                            The reason it shows the message anywhere you click currently is due to the fact you added
                            void MainWindow::mousePressEvent(QMouseEvent *event)
                            for the MAINWINOW do it will trigger anywhere you click on it.
                            So its only useful if you where to click anywhere on the whole Mainwindow and not
                            on any labels.

                            Ketan__Patel__0011K Offline
                            Ketan__Patel__0011K Offline
                            Ketan__Patel__0011
                            wrote on last edited by
                            #12

                            @mrjj i was write same code in my program but its not worked

                            mrjjM 1 Reply Last reply
                            0
                            • Ketan__Patel__0011K Ketan__Patel__0011

                              @mrjj i was write same code in my program but its not worked

                              mrjjM Offline
                              mrjjM Offline
                              mrjj
                              Lifetime Qt Champion
                              wrote on last edited by
                              #13

                              @Ketan__Patel__0011

                              Well did you use the ClickableLabel or not ?

                              Ketan__Patel__0011K 1 Reply Last reply
                              0
                              • mrjjM mrjj

                                @Ketan__Patel__0011

                                Well did you use the ClickableLabel or not ?

                                Ketan__Patel__0011K Offline
                                Ketan__Patel__0011K Offline
                                Ketan__Patel__0011
                                wrote on last edited by
                                #14

                                @mrjj please Can you share me a Full code of project ?
                                like Header file as well as source file code

                                mrjjM A 2 Replies Last reply
                                0
                                • Ketan__Patel__0011K Ketan__Patel__0011

                                  @mrjj please Can you share me a Full code of project ?
                                  like Header file as well as source file code

                                  mrjjM Offline
                                  mrjjM Offline
                                  mrjj
                                  Lifetime Qt Champion
                                  wrote on last edited by
                                  #15

                                  @Ketan__Patel__0011

                                  Hi
                                  there is no full project.
                                  the wiki page shows what to put in the .cpp and .h.

                                  However, if its also due to you not understanding how to use it.
                                  I can make you a test project this evening if that helps?

                                  Ketan__Patel__0011K 1 Reply Last reply
                                  0
                                  • Ketan__Patel__0011K Ketan__Patel__0011

                                    @mrjj please Can you share me a Full code of project ?
                                    like Header file as well as source file code

                                    A Offline
                                    A Offline
                                    anil_arise
                                    wrote on last edited by
                                    #16

                                    @Ketan__Patel__0011 Example :
                                    Clickable QLabel

                                    this link will be active for 2 days;
                                    you need to use promote widget after add widget header and class name (**right click options in ui file)

                                    Screenshot_2020-02-17_16-01-21.png

                                    Ketan__Patel__0011K 2 Replies Last reply
                                    2
                                    • mrjjM mrjj

                                      @Ketan__Patel__0011

                                      Hi
                                      there is no full project.
                                      the wiki page shows what to put in the .cpp and .h.

                                      However, if its also due to you not understanding how to use it.
                                      I can make you a test project this evening if that helps?

                                      Ketan__Patel__0011K Offline
                                      Ketan__Patel__0011K Offline
                                      Ketan__Patel__0011
                                      wrote on last edited by
                                      #17

                                      @mrjj Hello Sir

                                      i am try for last 2 days but nothing is happening

                                      so plz sir help me

                                      How can you share me a test project of clickable_Label ?

                                      1 Reply Last reply
                                      0
                                      • A anil_arise

                                        @Ketan__Patel__0011 Example :
                                        Clickable QLabel

                                        this link will be active for 2 days;
                                        you need to use promote widget after add widget header and class name (**right click options in ui file)

                                        Screenshot_2020-02-17_16-01-21.png

                                        Ketan__Patel__0011K Offline
                                        Ketan__Patel__0011K Offline
                                        Ketan__Patel__0011
                                        wrote on last edited by
                                        #18

                                        **@anil_arise hey Brother Thank you So much

                                        It really Good Way My Problem is solved

                                        Again Thank You So Much**

                                        1 Reply Last reply
                                        0
                                        • A anil_arise

                                          @Ketan__Patel__0011 Example :
                                          Clickable QLabel

                                          this link will be active for 2 days;
                                          you need to use promote widget after add widget header and class name (**right click options in ui file)

                                          Screenshot_2020-02-17_16-01-21.png

                                          Ketan__Patel__0011K Offline
                                          Ketan__Patel__0011K Offline
                                          Ketan__Patel__0011
                                          wrote on last edited by
                                          #19

                                          @anil_arise Can you share this link again plzzzzz

                                          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