Check if button is pressed in QGIS 3 moduleHow can I add a delete button to feature forms?QGIS custom form...

Is this a crack on the carbon frame?

How do we improve the relationship with a client software team that performs poorly and is becoming less collaborative?

Why, historically, did Gödel think CH was false?

Have astronauts in space suits ever taken selfies? If so, how?

Theorems that impeded progress

Can an x86 CPU running in real mode be considered to be basically an 8086 CPU?

How to format long polynomial?

Which models of the Boeing 737 are still in production?

Fencing style for blades that can attack from a distance

Is it possible to do 50 km distance without any previous training?

LaTeX closing $ signs makes cursor jump

Today is the Center

Is it tax fraud for an individual to declare non-taxable revenue as taxable income? (US tax laws)

Is it important to consider tone, melody, and musical form while writing a song?

In Japanese, what’s the difference between “Tonari ni” (となりに) and “Tsugi” (つぎ)? When would you use one over the other?

How does one intimidate enemies without having the capacity for violence?

Python: next in for loop

Problem of parity - Can we draw a closed path made up of 20 line segments...

What do you call a Matrix-like slowdown and camera movement effect?

Languages that we cannot (dis)prove to be Context-Free

Why doesn't Newton's third law mean a person bounces back to where they started when they hit the ground?

Collect Fourier series terms

Email Account under attack (really) - anything I can do?

Did Shadowfax go to Valinor?



Check if button is pressed in QGIS 3 module


How can I add a delete button to feature forms?QGIS custom form and autocompleted data entering with “validation check”No Module named qgisWhen buton clicked, open new window - pyqgisCheck QGIS label visibilityQGIS ImportError: No module named 'PyQt5.QtSvg'ModuleNotFoundError: No module named 'PyQt5.Qsci'Built QGIS 2.xx debian packages with QT5 : unmet QT4 dependenciesQT custom form - Button to run QGIS ActionHow to run PyQT code inside python console(editor) in QGIS?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







3















There is a plugin I wrote for QGIS and I added some buttons there.
From main launch Python script I need to check is specific button is clicked and according to that do some stuff.



I saw a default condition in main script:



def run(self):
if self.first_start == True:
self.first_start = False
self.dlg = frame_builderDialog()
self.dlg.show()
result = self.dlg.exec_()
if result:
pass
'or do something'


In this case I can catch event if I had an "OKCancel" button. But I have another simple buttons. I tried to catch them using something like



result_btn = self.dlg.pushButton.clicked


where pushButton is one of the buttons taken from script with dialog, but nothing were returned.



What should be done here?










share|improve this question































    3















    There is a plugin I wrote for QGIS and I added some buttons there.
    From main launch Python script I need to check is specific button is clicked and according to that do some stuff.



    I saw a default condition in main script:



    def run(self):
    if self.first_start == True:
    self.first_start = False
    self.dlg = frame_builderDialog()
    self.dlg.show()
    result = self.dlg.exec_()
    if result:
    pass
    'or do something'


    In this case I can catch event if I had an "OKCancel" button. But I have another simple buttons. I tried to catch them using something like



    result_btn = self.dlg.pushButton.clicked


    where pushButton is one of the buttons taken from script with dialog, but nothing were returned.



    What should be done here?










    share|improve this question



























      3












      3








      3








      There is a plugin I wrote for QGIS and I added some buttons there.
      From main launch Python script I need to check is specific button is clicked and according to that do some stuff.



      I saw a default condition in main script:



      def run(self):
      if self.first_start == True:
      self.first_start = False
      self.dlg = frame_builderDialog()
      self.dlg.show()
      result = self.dlg.exec_()
      if result:
      pass
      'or do something'


      In this case I can catch event if I had an "OKCancel" button. But I have another simple buttons. I tried to catch them using something like



      result_btn = self.dlg.pushButton.clicked


      where pushButton is one of the buttons taken from script with dialog, but nothing were returned.



      What should be done here?










      share|improve this question
















      There is a plugin I wrote for QGIS and I added some buttons there.
      From main launch Python script I need to check is specific button is clicked and according to that do some stuff.



      I saw a default condition in main script:



      def run(self):
      if self.first_start == True:
      self.first_start = False
      self.dlg = frame_builderDialog()
      self.dlg.show()
      result = self.dlg.exec_()
      if result:
      pass
      'or do something'


      In this case I can catch event if I had an "OKCancel" button. But I have another simple buttons. I tried to catch them using something like



      result_btn = self.dlg.pushButton.clicked


      where pushButton is one of the buttons taken from script with dialog, but nothing were returned.



      What should be done here?







      qgis pyqgis qt pyqt5






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited yesterday









      Vince

      14.8k32849




      14.8k32849










      asked yesterday









      Pavel PereverzevPavel Pereverzev

      491211




      491211






















          2 Answers
          2






          active

          oldest

          votes


















          3














          In python you have "events" and "events handler". when an event occurs they usually (not always...) generate a signal that can be caught by the event handler.



          for example :



          curLayer.selectionChanged.connect(self.test)


          the event is selectionChanged and the event handler is the function handling the signal received (in that case the handler should be a function (written by you) called test (or any other naming ofc).



          your snippet :



          result_btn = self.dlg.pushButton.clicked


          Is meaningless (imho ...)



          So ... in your case u should try an



          self.dlg.pushButton.clicked.connect(self.my_event_handler)


          And write an my_event_handler function of course.






          share|improve this answer

































            2














            You could connect the pushButton to a function so that when it is clicked, it will do something:



            result_btn = self.dlg.pushButton.clicked.connect(self.someFunction)





            share|improve this answer
























              Your Answer








              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "79"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: false,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f317878%2fcheck-if-button-is-pressed-in-qgis-3-module%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              3














              In python you have "events" and "events handler". when an event occurs they usually (not always...) generate a signal that can be caught by the event handler.



              for example :



              curLayer.selectionChanged.connect(self.test)


              the event is selectionChanged and the event handler is the function handling the signal received (in that case the handler should be a function (written by you) called test (or any other naming ofc).



              your snippet :



              result_btn = self.dlg.pushButton.clicked


              Is meaningless (imho ...)



              So ... in your case u should try an



              self.dlg.pushButton.clicked.connect(self.my_event_handler)


              And write an my_event_handler function of course.






              share|improve this answer






























                3














                In python you have "events" and "events handler". when an event occurs they usually (not always...) generate a signal that can be caught by the event handler.



                for example :



                curLayer.selectionChanged.connect(self.test)


                the event is selectionChanged and the event handler is the function handling the signal received (in that case the handler should be a function (written by you) called test (or any other naming ofc).



                your snippet :



                result_btn = self.dlg.pushButton.clicked


                Is meaningless (imho ...)



                So ... in your case u should try an



                self.dlg.pushButton.clicked.connect(self.my_event_handler)


                And write an my_event_handler function of course.






                share|improve this answer




























                  3












                  3








                  3







                  In python you have "events" and "events handler". when an event occurs they usually (not always...) generate a signal that can be caught by the event handler.



                  for example :



                  curLayer.selectionChanged.connect(self.test)


                  the event is selectionChanged and the event handler is the function handling the signal received (in that case the handler should be a function (written by you) called test (or any other naming ofc).



                  your snippet :



                  result_btn = self.dlg.pushButton.clicked


                  Is meaningless (imho ...)



                  So ... in your case u should try an



                  self.dlg.pushButton.clicked.connect(self.my_event_handler)


                  And write an my_event_handler function of course.






                  share|improve this answer















                  In python you have "events" and "events handler". when an event occurs they usually (not always...) generate a signal that can be caught by the event handler.



                  for example :



                  curLayer.selectionChanged.connect(self.test)


                  the event is selectionChanged and the event handler is the function handling the signal received (in that case the handler should be a function (written by you) called test (or any other naming ofc).



                  your snippet :



                  result_btn = self.dlg.pushButton.clicked


                  Is meaningless (imho ...)



                  So ... in your case u should try an



                  self.dlg.pushButton.clicked.connect(self.my_event_handler)


                  And write an my_event_handler function of course.







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited yesterday

























                  answered yesterday









                  snaileatersnaileater

                  1,646613




                  1,646613

























                      2














                      You could connect the pushButton to a function so that when it is clicked, it will do something:



                      result_btn = self.dlg.pushButton.clicked.connect(self.someFunction)





                      share|improve this answer




























                        2














                        You could connect the pushButton to a function so that when it is clicked, it will do something:



                        result_btn = self.dlg.pushButton.clicked.connect(self.someFunction)





                        share|improve this answer


























                          2












                          2








                          2







                          You could connect the pushButton to a function so that when it is clicked, it will do something:



                          result_btn = self.dlg.pushButton.clicked.connect(self.someFunction)





                          share|improve this answer













                          You could connect the pushButton to a function so that when it is clicked, it will do something:



                          result_btn = self.dlg.pushButton.clicked.connect(self.someFunction)






                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered yesterday









                          JosephJoseph

                          58.7k7101206




                          58.7k7101206






























                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to Geographic Information Systems Stack Exchange!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f317878%2fcheck-if-button-is-pressed-in-qgis-3-module%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              Cannot install PyQt5 The Next CEO of Stack OverflowCannot install tcpreplay 3.4.4cannot...

                              Kapp-Putsch Acontecimentos | Outros artigos | Menu de navegação

                              Why did early computer designers eschew integers? The Next CEO of Stack OverflowWhat register...