1. 程式人生 > >Qt之標準對話方塊(顏色對話方塊)

Qt之標準對話方塊(顏色對話方塊)

顏色對話方塊

目錄

顏色對話方塊

1、在標頭檔案中包含 #include < QColorDialog >

void Widget::on_ColorButton_clicked()
{
    QColor color = QColorDialog::getColor(Qt::red,this,
                                          tr("顏色對話方塊!"));
    qDebug()<<"color: "<<color;
}

這裡使用了QColorDialog的靜態函式getColor()來獲取顏色,它的三個引數的作用分別是:設定初始顏色、指定父視窗和設定對話方塊標題。
getColor()函式返回一個QColor型別資料。

實現效果如下:
這裡寫圖片描述

直接單擊OK,輸出資訊應該是 QColor(ARGB 1, 1, 0, 0) ,這裡的4個數分別代表:透明度(alpha)、紅色(red)、綠色(green)、藍色(blue)它們的數值都是從 0.0~1.0 ,有效數字為6位。對於alpha來說,1.0表示完全不透明,而0.0表示完全透明。對於三基色的數值還可以用 0~255 來表示。

顏色對話方塊(顯示透明度)

void Widget::on_ColorButton_clicked()
{
    QColor color = QColorDialog::getColor(Qt::red,this,
                                          tr("顏色對話方塊!"
), QColorDialog::ShowAlphaChannel); qDebug()<<"color: "<<color; }

在顏色對話方塊中還可以新增對alpha的設定,就是在getColor()函式中再使用最後一個引數。這裡的 QColorDialog::ShowAlphaChannel 用來顯示alpha設定。

實現效果如下(紅色框住地方作為區別處):
這裡寫圖片描述

顏色對話方塊(更加靈活的設定)

void Widget::on_ColorButton_clicked
() { //建立物件 QColorDialog dialog(Qt::red,this); //顯示alpha選項 dialog.setOption(QColorDialog::ShowAlphaChannel); //以模態方式執行對話方塊 dialog.exec(); //獲取當前顏色 QColor color = dialog.currentColor(); //輸出顏色資訊 qDebug()<<"color:"<<color; }

前面使用 QColorDialog 類的靜態成員函式來直接顯示顏色對話方塊,好處是不用建立物件。但是如果想要靈活的設定,則可以先建立物件,然後進行各項設定。