2016-04-13 12 views
0

Ich versuche, einige QPushButton Icons zu aktualisieren, wenn ich einen QPushButton drücke, gibt es eine Möglichkeit, wenn ich eine von vier Tasten drücke, werden alle vier aktualisiert?Refresh QPushButtons wenn QPushButton gedrückt wird

void VMesa::on_mano1_clicked() 
{ 
    Tablero* tJuego = Tablero::getInstance(); 
    Deck* mazo = Deck::getInstance(); 

    tJuego->getJActual() == 1 ? tJuego->setJActual(2) : tJuego->setJActual(1); 
} 

Wenn das Fenster geladen wird, lädt es ein Icon auf vier Tasten wie diesem Code:

QPixmap pixmap = tJuego->getCartaQString(mazo->topCarta()); 
QIcon ButtonIcon = pixmap; 
ui->campo5->setIcon(ButtonIcon); 
ui->campo5->setIconSize(QSize(ui->campo5->width(), ui->campo5->height())); 

ich brauche, wenn ich jede der vier Tasten drücken, werden alle mit einem anderen Bild aktualisiert werden (von Carta <) aus dem Stapel (Mazo). Vielen Dank!

Antwort

0

Der Schlüssel ist, signals and slots von Qt, genauer das Signal clicked() inhärent zu einem QPushButton zu verwenden. Wenn du 4 QPushButton hast, denke ich, dass du jeden mit einem anderen Slot verbinden musst und aktualisiere in diesem den anderen. Es wird so aussehen:

connect(m_pButton1, SIGNAL(clicked()), this, SLOT(onButton1clicked())); 

... 

void VMesa::onButton1clicked() 
{ 
    //set icons for the other 3 buttons 
} 
Verwandte Themen