1. 程式人生 > >使用Qt生成動態按鈕(QPushButton),同時可以使用按鈕進行互動

使用Qt生成動態按鈕(QPushButton),同時可以使用按鈕進行互動

在使用Qt編寫軟體視窗時,有時會遇到一種需求

就是當發出一個動作的時候,會彈出若干個按鈕,而且要使用這些按鈕進行下一步的操控。

而動態生成按鈕並不難,只要new Pushbutton就可以了,

在需要再此使用pushbutton做一些其他動作,比如說關聯訊號槽的時候,就需要使用connect函式

可能會有人不知道這個connect函式該怎麼寫、在哪寫,所以在最開始動態生成的時候,也即在new pushbutton的時候需要這麼做:

新建一個類,這裡命名為pButton,使其繼承QPushButton,然後再這個類中新增connect函式,

在生成動態按鈕的時候,只要new pButton即可,具體見如下程式碼例子:

PButton::PButton(QStringfilename)
{
this->filename=filename;
this->setText(this->filename);
connect(this,SIGNAL(clicked(bool)),this,SLOT(displaySlot()));
}

其中pbutton.h標頭檔案不放了,只放了PButton的建構函式。

slot中的函式是在標頭檔案裡面宣告的一個槽函式,用來響應此動態生成的按鈕的動作。

需要注意的是,在標頭檔案中不要忘記宣告Q_OBJECT,因為有了這個才可以使用訊號槽connect函式。