当我按下一个QPushButton时,我正在尝试刷新一些QPushButton图标,当我按下四个按钮中的一个按钮时,是否有一种方法,所有四个按钮都会更新?
void VMesa::on_mano1_clicked()
{
Tablero* tJuego = Tablero::getInstance();
Deck* mazo = Deck::getInstance();
tJuego->getJActual() == 1 ? tJuego->setJActual(2) : tJuego->setJActual(1);
}
当窗口加载时,它会在四个按钮上为Icon充电,如下代码:
QPixmap pixmap = tJuego->getCartaQString(mazo->topCarta());
QIcon ButtonIcon = pixmap;
ui->campo5->setIcon(ButtonIcon);
ui->campo5->setIconSize(QSize(ui->campo5->width(), ui->campo5->height()));
当我按下四个按钮中的每个按钮时,我需要更新所有来自堆栈(Mazo)的另一个图像(来自Carta<)。非常感谢你!
答案 0 :(得分:0)
关键是使用Qt的signals and slots,更确切地说是clicked()
固有的信号QPushButton
。如果您有4个QPushButton,我认为您必须将每个连接到不同的插槽,并在此插槽中更新另一个插槽。它看起来像这样:
connect(m_pButton1, SIGNAL(clicked()), this, SLOT(onButton1clicked()));
...
void VMesa::onButton1clicked()
{
//set icons for the other 3 buttons
}