Check if button is pressed in QGIS 3 module
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}
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
add a comment |
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
add a comment |
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
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
qgis pyqgis qt pyqt5
edited 17 hours ago
Vince
14.8k32849
14.8k32849
asked 19 hours ago
Pavel PereverzevPavel Pereverzev
491211
491211
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
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.
add a comment |
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)
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
add a comment |
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.
add a comment |
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.
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.
edited 16 hours ago
answered 18 hours ago
snaileatersnaileater
1,629613
1,629613
add a comment |
add a comment |
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)
add a comment |
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)
add a comment |
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)
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)
answered 18 hours ago
JosephJoseph
58.7k7101206
58.7k7101206
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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