搜尋此網誌

2011年9月19日 星期一

如何在QT中將QVariant轉換成定義在QtGui中的資料型態 (如 QColor...等),或自定型別

因為QVariant是QtCore庫的一部分,它不能夠提供定義在QtGui當中的類型(如 QColor)的轉換
如要轉換,方法式將其轉換至指定的樣版型別,如下所示,(PS:自訂型別方法相同):

QColor color = variant.value();

不過在轉換之前最好先用canConvert()的函式來檢查是否可提供該型別轉換,如下所示:

if (variant.canConvert()) {
QColor color = variant.value();
}

反向轉換(如把QColor轉成QVariant)則和一般的型態(非定義在QtCui或自訂型別)是一樣的

沒有留言: