Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Update: Forum Guidelines & Code of Conduct


    Qt World Summit: Early-Bird Tickets

    Unsolved Using variables to acces UI

    General and Desktop
    ui object variable
    2
    2
    604
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • plymouth21
      plymouth21 last edited by

      HI Guys,
      I'm new to Qt

      I have about 50 buttons in my UI, and I need to modify them if the certain condition is met,

      void aaa::on_push_button1_clicked()
      {
      ui->pushButton_00->setEnabled(true);
      }

      this one works well, but so I wil have to manually check for every button, so I want to replace pushButton_00 with a variable, but I can't get it to work

      1 Reply Last reply Reply Quote 0
      • mrjj
        mrjj Lifetime Qt Champion last edited by mrjj

        Hi and welcome
        There is a special sender() in a slot you can use to know which button was the sender of
        the clicked() signal

        void aaa::on_push_button1_clicked()
        QPushButton *butt=qobject_cast<QPushButton *> ( sender() ) ;
        if (butt) {
        }

        that way u can use a variable and not ui->NAME

        All you buttons should be connected to same slot then.

        You could do that after setupUI()

        QList<QPushButton *> list = this->findChildren<QPushButton *>();
        foreach(QPushButton *b, list) {
        connect(b, XXX
        }

        1 Reply Last reply Reply Quote 0
        • First post
          Last post