qt的開發中有時候需要將多個訊號連線到乙個槽函式中,那麼這些訊號怎麼才能找到槽函式中自己的如意郎君?
其實,有很多例子都是簡單將sender()指標強行轉化成訊號傳送者型別,然後判斷其是否存在,如果存在那麼強
行轉化成這個類的指標,就可在在槽函式裡面被認定下來。在比如這麼乙個環境下:乙個button,乙個qtimer都指向
乙個槽函式時候,我們分別將sender()指標強行轉化成qpushbutton和qtimer型別,只要其存在,在槽函式裡面
分類寫是可以的。但是問題是,比如有多個pushbutton了?好吧?說了這麼多,直接上**!!!
voiddialog::movieslot()
if(sender==
ui->playbtn)//比較符號的兩邊不管是c還是c++中都是先將兩邊隱式轉換成同一型別(這種型別叫公共型別)後再比較
movie
=new
qmovie("./images/play.gif");
ui->viewlabel->setmovie(movie);
qdebug()<<"movieactivity"
movie->start();
}
if(sender==
ui->playbtn2)
movie
=new
qmovie("./images/play2.gif");
ui->viewlabel->setmovie(movie);
qdebug()<<"movieactivity"
movie->start();
}
}上面直接按照sender()指標與訊號**做對比,就可以很好區分。
另外,一般情況下,乙個指標要麼是空,要麼非空,而我們這裡可以直接來個if(
dynamic_cast(sender()))其實看文件會知道,sender()指標要麼存在非空,要麼不存在那就被置為0的。
Qt QT之中多個訊號連線同乙個槽 細說版
qt qt之中多個訊號連線同乙個槽 細說版 qt的開發中有時候需要將多個訊號連線到乙個槽函式中,那麼這些訊號怎麼才能找到槽函式中自己的如意郎君?其實,有很多例子都是簡單將sender 指標強行轉化成訊號傳送者型別,然後判斷其是否存在,如果存在那麼強 行轉化成這個類的指標,就可在在槽函式裡面被認定下來...
多個請求使用同乙個Servlet
如果jsp中乙個請求對應乙個servlet那要建很多servlet,冗餘較多。我們可以把乙個模組的請求封裝在乙個servlet,實現功能的模組化,從而簡化 其實這種方式有點類似於struts中的action。新建jsp檔案 輸入如下 分別是3個請求,請求同乙個servlet,但是後邊跟的引數meth...
同乙個Tomcat部署多個專案
一 同一tomcat 多個埠部署不同的專案 在tomcat 安裝目錄下c program files apache tomcat 6.0.29 conf找到server.xml 1 在結點後面增加結點,如下 好處 可以把多個專案部署在根目錄 二 tomcat 部置方式 tomcat部署專案有3種方法...