Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

[SOLVED] hide multiple buttons with slot



  • Hiho,
    as the title says I'm trying to hide multiple buttons with a slot.
    The action is called with every change of a treeview (this works)
    but the problem is that the buttons won't be hidden.
    Here is what I have for now:

    This is the connection for a treeview in the ui_main.h
    @QObject::connect(treeView->selectionModel(), SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)), MainWindow, SLOT(slot_selectionChanged(const QModelIndex &, const QModelIndex &)));@
    And in the MainApplicationWindow.h:
    @void slot_selectionChanged(const QModelIndex & index1, const QModelIndex & index2){
    /reads some data from the treeview/
    ui->changePalette(value); //hides all buttons and shows the needed ones again
    }@
    and here again in my ui_main.h the function which should hide the buttons

    @void changePalette(std::string value){
    pushButton->hide();
    pushButton_2->hide();
    pushButton_3->hide();
    //and so on

        if(!strcmp(value.c_str(), "ground")){
                pushButton->setStyleSheet(QString::fromUtf8("background-image: url(../media/terrain/map/textures/grass.gif);"));
                pushButton->show();
                pushButton_2->setStyleSheet(QString::fromUtf8("background-image: url(../media/terrain/map/textures/sand.gif);"));
                pushButton_2->show();
        }
        else if...@
    

    The strange thing is that I can hide the frame the buttons are in, but not the buttons themself
    I hope somebody can help me :)
    Thanks in advance and best regards
    Ritti



  • Ok well I just solved the problem :)
    I didn't set a backgroundcolor / image for the frame the buttons were in.
    Now it works as it should


Log in to reply