更新時(shí)間:2017-07-02 來(lái)源:黑馬程序員C/c++培訓(xùn)學(xué)院 瀏覽量:
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
QStringList textList;
signalMapper = new QSignalMapper(this);
// 布局管理器
QVBoxLayout *vLayout = new QVBoxLayout(this);
textList << "北京" << "上海" << "廣州" << "南京" << "天津";
for(int i=0; i<5; ++i)
{
// 動(dòng)態(tài)創(chuàng)建按鈕
QPushButton* button = new QPushButton(textList[i]);
button->setFixedSize(50, 30);
// 按鈕的信號(hào)和QSignalMapper類(lèi)的map()槽函數(shù)關(guān)聯(lián)
// 原始信號(hào)傳遞給signalMapper
connect(button, SIGNAL(clicked(bool)),
signalMapper, SLOT(map()));
// 設(shè)置signalmapper的轉(zhuǎn)發(fā)規(guī)則, 轉(zhuǎn)發(fā)為參數(shù)為QString類(lèi)型的
// 信號(hào), 并把textList[i]的內(nèi)容作為實(shí)參傳遞。
signalMapper->setMapping(button, textList[i]);
vLayout->addWidget(button);
}
//將轉(zhuǎn)發(fā)的信號(hào)連接到最終的槽函數(shù)
connect(signalMapper, SIGNAL(mapped(QString)),
this, SLOT(slotClicked(QString)));
}
// 自定義槽函數(shù)
void Widget::slotClicked(QString text)
{
QMessageBox::information(this, "Button Clicked", text);
}
【AI設(shè)計(jì)】北京143期畢業(yè)僅36天,全員拿下高薪offer!黑馬AI設(shè)計(jì)連續(xù)6期100%高薪就業(yè)
2025-09-19【跨境電商運(yùn)營(yíng)】深圳跨境電商運(yùn)營(yíng)畢業(yè)22個(gè)工作日,就業(yè)率91%+,最高薪資達(dá)13500元
2025-09-19【AI運(yùn)維】鄭州運(yùn)維1期就業(yè)班,畢業(yè)14個(gè)工作日,班級(jí)93%同學(xué)已拿到Offer, 一線(xiàn)均薪資 1W+
2025-09-19【AI鴻蒙開(kāi)發(fā)】上海校區(qū)AI鴻蒙開(kāi)發(fā)4期5期,距離畢業(yè)21天,就業(yè)率91%,平均薪資14046元
2025-09-19【AI大模型開(kāi)發(fā)-Python】畢業(yè)33個(gè)工作日,就業(yè)率已達(dá)到94.55%,班均薪資20763元
2025-09-19【AI智能應(yīng)用開(kāi)發(fā)-Java】畢業(yè)當(dāng)天offer率91%,薪資1W+占比54.2%,班級(jí)均薪12k+
2025-09-19C/c++培訓(xùn)之MFC-修改窗口的光標(biāo) 圖標(biāo) 背景
2017-07-02Android+物聯(lián)網(wǎng)培訓(xùn)實(shí)戰(zhàn)教程之Android下service詳解
2017-05-31c++培訓(xùn)之Linux系統(tǒng)常用命令
2017-04-14c++培訓(xùn)之Qt和MFC比較
2017-04-142016年最新C/C++學(xué)習(xí)路線(xiàn)圖(附完整視頻資源)
2017-04-14C/C++培訓(xùn)之9個(gè)冷門(mén)的C語(yǔ)言問(wèn)題
2017-04-14