2016-04-13 20 views
0

Bir QPushButton'a bastığımda birkaç QPushButton simgelerini yenilemeye çalışıyorum, dört düğmeden birine bastığımda bir yol var mı? (Ben, dört düğmelerinin her bastığınızda tüm başka görüntü ile güncellenen olsun buna ihtiyacımQPushButton düğmesine basıldığında QPushButtons'u yenile

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

:

pencere yüklendiğinde
void VMesa::on_mano1_clicked() 
{ 
    Tablero* tJuego = Tablero::getInstance(); 
    Deck* mazo = Deck::getInstance(); 

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

, bu kodu gibi dört düğmeleri bir simge şarj eder Carta'dan <) Yığından (Mazo). Çok teşekkür ederim!

cevap

0

Anahtar,Qt, daha doğrusu QPushButton'a özgü clicked() sinyalini kullanmaktır. Eğer 4 QPushButton'unuz varsa, her birini farklı bir yuvaya bağlamanız gerektiğini düşünüyorum ve bu yuvada diğerini güncelleyeceksiniz. Şunun gibi görünecektir:

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

... 

void VMesa::onButton1clicked() 
{ 
    //set icons for the other 3 buttons 
} 
İlgili konular