Why should we add an object name to a QObject? I can still load and run any object without setting the name.
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Well, it depends on how you plan on getting access to the QObject later. There are several QObject.find() functions that you can use to get access to an QObject. The name adds a “key” to filter your search.
For example, In your own class you probably use instance variables for this instead of doing a search, but you may actually be passed something that you normally don’t own, but you know there is a specific button you want to edit (e.g., A QPushButton in one of Qt’s built-in QInputDialogs). Giving the button a name makes it easy to find (and is robust if the button disappears, moves in the layout, etc.), whereas checking the button text or counting where it is in the hierarchy would be much more fragile (e.g., button text might change between versions or due to localization, someone adds a new layout, an extra button).
Or you just may want some nice debug text when you are printing pointer values (i.e., you want to know which QObject is causing a problem). It also makes scripting easier, but I won’t explain why here.
This is really just the tip of the iceberg. You really only need to set the name if you have a need for it and only you know that answer. 🙂