Important: Please read the Qt Code of Conduct -

To pass a string between functions

  • Hi all,

    I have a basic c++ question:

    I have a class constructor as follows

    StageOne::StageOne(QString someLabel, QWidget *parent) :
        ui(new Ui::StageOne)

    How do I pass someLabel to other parts of the class, for example, if I need to reuse it in the following function:

    void StageOne::on_pushButton_One_clicked()
        //----->How do I get "someLabel" from the class constructor here
        settingsWindow = new  configsettings (this);
        settingsWindow ->setWindowTitle("Settings window");
        settingsWindow -> show();

    Thanks in advance

  • @russjohn834 hi

    you can create a member QString variable and assign someLabel s value to it in your constructor

  • @russjohn834
    As @LeLev has written if you need to reference a parameter all over the place in a class, copy it to a member variable for re-use.

    While we are here:

    StageOne::StageOne(QString someLabel, QWidget *parent) :

    The usual/optimal way of passing QStrings around which you do not intend to alter is via parameter declaration const QString& someLabel. All you do is call QLabel::setText() on this, so see how shows setText(const QString &). It's not vital, but if you are going to end up writing loads of code like this you might wish to change your declarations over now.

  • Thank you @LeLev , @JonB for your feedback

Log in to reply