"Don't show this meesage again" checkbox in QMessagebox
-
@Prathamesh
You need to read the doc page and the examples. That's what development is about. They even show you how to read back a value, what have you done about that?@JonB I have read the value from registry as I said using this line -->
settings = QtCore.QSettings('ConTest', 'Check-Box status') settings.setValue("check_box_status", check_box_status) value = settings.value('check_box_status', check_box_status)
So the 1st line will create a folder in registry by the name Check_box_status
2nd line will store the value of chwck-box in registry and the 3rd line will read that value back from registry. Now my question is how to use this value to not show the pop-up again. -
Hi,
The logic has already been explained several times:
- Get the settings value
- Check what that value is
- Show or not the message box based on this value
- If the message box has been show, update the settings value
In any case, you really should use more meaningful variable and key names. It would help you quite a lot with the code flow.
-
Hi,
The logic has already been explained several times:
- Get the settings value
- Check what that value is
- Show or not the message box based on this value
- If the message box has been show, update the settings value
In any case, you really should use more meaningful variable and key names. It would help you quite a lot with the code flow.
@SGaist That is what my question is actually. The logic is understood, but the 3rd point u have mentioned is the actual problem. How to use this value to not show the pop-up. That is what I want to know.
-
@SGaist That is what my question is actually. The logic is understood, but the 3rd point u have mentioned is the actual problem. How to use this value to not show the pop-up. That is what I want to know.
@Prathamesh said in "Don't show this meesage again" checkbox in QMessagebox:
but the 3rd point u have mentioned is the actual problem
The third point is a simple if () statement checking the value of the setting...
-
@Prathamesh said in "Don't show this meesage again" checkbox in QMessagebox:
but the 3rd point u have mentioned is the actual problem
The third point is a simple if () statement checking the value of the setting...
@jsulm Of course it is if statement, my question was not about how to check the value. My question was how to use that value to show message-box or not to show it. I hope this time it is clear.
-
@jsulm Of course it is if statement, my question was not about how to check the value. My question was how to use that value to show message-box or not to show it. I hope this time it is clear.
How you would do it without
QSettings
? Same thing. Doesn't matter where thebool
is coming from. Set it somewhere (member / class var) and then put the check before the code that shows the messageBox.
I don't see any problem or difficulty there... -
@Prathamesh said in "Don't show this meesage again" checkbox in QMessagebox:
hi you just need to adjust your logic
settings = QtCore.QSettings('ConTest', 'Check-Box status') IsHidden = settings.value('check_box_status', check_box_status) if not IsHidden : // its one block msg = QtWidgets.QMessageBox() msg.setWindowTitle("What's New") msg.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint) msg.setText(ui_helper.WHAT_IS_NEW) check_box = QtWidgets.QCheckBox("Don't show this again") msg.setCheckBox(check_box) msg.exec_() check_box_status = check_box.isChecked() settings.setValue("check_box_status", check_box_status)
-
@Prathamesh said in "Don't show this meesage again" checkbox in QMessagebox:
hi you just need to adjust your logic
settings = QtCore.QSettings('ConTest', 'Check-Box status') IsHidden = settings.value('check_box_status', check_box_status) if not IsHidden : // its one block msg = QtWidgets.QMessageBox() msg.setWindowTitle("What's New") msg.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint) msg.setText(ui_helper.WHAT_IS_NEW) check_box = QtWidgets.QCheckBox("Don't show this again") msg.setCheckBox(check_box) msg.exec_() check_box_status = check_box.isChecked() settings.setValue("check_box_status", check_box_status)
@mrjj Hi , I have one doubt here. The settings variable here is creating a folder in windows registry editor. But my question is, when i close my application and relaunch it again, will this settings variable not create one more folder?
-
@mrjj Hi , I have one doubt here. The settings variable here is creating a folder in windows registry editor. But my question is, when i close my application and relaunch it again, will this settings variable not create one more folder?
@Prathamesh said in "Don't show this meesage again" checkbox in QMessagebox:
But my question is, when i close my application and relaunch it again, will this settings variable not create one more folder?
Therefore the settings have a key string. So that the same, stored value is read in again.
-
How you would do it without
QSettings
? Same thing. Doesn't matter where thebool
is coming from. Set it somewhere (member / class var) and then put the check before the code that shows the messageBox.
I don't see any problem or difficulty there...Ok, So should I go ahead with this code?
-
Ok, So should I go ahead with this code?
@Prathamesh said in "Don't show this meesage again" checkbox in QMessagebox:
Ok, So should I go ahead with this code?
Yes.