QFileDialog QFontDialog QColorDialog QInputDialog 常规用法

本文介绍了一个使用Qt实现的简单界面,通过6个按钮触发不同的对话框功能,包括文件选择、字体选择、颜色选择、输入对话框、列表选择及整数输入,展示了Qt在GUI开发中的灵活性和实用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

界面很简单,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));
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值