QFileDialog QFontDialog QColorDialog QInputDialog 常规用法

界面很简单,6个按钮,6个label。如下图:
在这里插入图片描述
6个按钮对应6个函数,说明6个常用功能:

void Dialog::onSelectFileClicked(){
    QString fileName = QFileDialog::getOpenFileName(this, tr("open file dialog"), ".",
            tr("Head files(*.h);;C++ files(*.cpp)"));
            //两个分号可以把删选条件分行显示
    ui->labelFile->setText(fileName);
}
void Dialog::onSelectFontClicked(){
    bool ok;
    QFont f = QFontDialog::getFont(&ok);
    if (ok) {
        ui->labelFont->setFont(f);
    }
}
void Dialog::onSelectColorClicked(){
    QColor c = QColorDialog::getColor(Qt::blue);//对话框弹出来的时候,默认选择的颜色
    ui->labelColor->setAutoFillBackground(true);
    if (c.isValid()) {
        ui->labelColor->setPalette(QPalette(c));
    }
}
void Dialog::onInputDialogClicked(){
    bool ok;
    QString text = QInputDialog::getText(this,
        tr("a standard input dialog"),tr("enter your name"),
        QLineEdit::Normal,
        "Thomas",//默认显示的名字
        &ok);
    if (ok && !text.isEmpty()) {
        ui->labelInput->setText(text);
    }
}
void Dialog::onGetItemDialogClicked(){
    QStringList sexItems;
    sexItems << tr("man") << tr("female");
    bool ok;
    QString sexItem = QInputDialog::getItem(this,tr("a sex dialog"),tr("select your sex"),
        sexItems,0,false,&ok);
    if (ok && !sexItem.isEmpty())
        ui->labelGetItem->setText(sexItem);
}
void Dialog::onGetIntDialogClicked(){
    bool ok;
    int v = QInputDialog::getInt(this,tr("get int dialog"),
    	"get an int",42,//42是默认显示的数字
    	0,1024,1,&ok);
    if(ok) ui->labelGetInt->setText(QString::number(v));
}
发布了11 篇原创文章 · 获赞 0 · 访问量 202

猜你喜欢

转载自blog.csdn.net/shensheng100221/article/details/103665401