Qt之标准对话框(QColorDialog、QInputDialog、QFontDialog)

举报
人才程序员 发表于 2023/11/30 17:57:14 2023/11/30
【摘要】 @TOC提示:以下是本篇文章正文内容,下面案例可供参考 QColorDialogQDialog类用于指定颜色的。 使用方式设置最开始的颜色setCurrentColor(Qt::red);//其他的颜色Qt::whiteQt::blackQt::redQt::darkRedQt::greenQt::darkGreenQt::blueQt::darkBlueQt::cyanQt::darkCy...

@TOC


提示:以下是本篇文章正文内容,下面案例可供参考

QColorDialog

QDialog类用于指定颜色的。
在这里插入图片描述

使用方式

设置最开始的颜色

setCurrentColor(Qt::red);

//其他的颜色

Qt::white
Qt::black
Qt::red
Qt::darkRed
Qt::green
Qt::darkGreen
Qt::blue
Qt::darkBlue
Qt::cyan
Qt::darkCyan
Qt::magenta
Qt::darkMagenta
Qt::yellow
Qt::darkYellow
Qt::gray
Qt::darkGray
Qt::lightGray
Qt::transparent

获取选中的颜色

QColor selectedColor();

代码如下:

void Widget::color()
{
    QColorDialog * color = new QColorDialog(this);
    color->setWindowTitle("select color");
    color->setCurrentColor(Qt::blue);

    if(color->exec() == QColorDialog::Accepted)
    {
    	qDebug() << color->selectedColor();
    }
}

QInputDialog

QInputDialog是提供输入的一个对话框。
在这里插入图片描述

使用方式

设置提示字符串

input->setLabelText("input your name");

设置输入的东西是什么类型的

input->setInputMode(QInputDialog::TextInput);//只能输入字符串/字符

//其他类型

QInputDialog::TextInput
QInputDialog::IntInput
QInputDialog::DoubleInput

代码如下:

void Widget::input()
{
    QInputDialog * input = new QInputDialog(this);
    input->setWindowTitle("Input");
    input->setLabelText("input your name");
    input->setInputMode(QInputDialog::TextInput);

    if(input->exec() == QInputDialog::Accepted)
    {
        qDebug() << input->textValue();
    }
}

提示:如果你的setInputMode设置的为IntInput的话,要使用intValue()获取值,如果是TextInput的话,则要使用textInput()
double同理

QFontDialog

QFontDialog用于选择字体。

在这里插入图片描述

使用方式

设置初始字体:

setCurrentFont(QFont(字体名,字体大小,字体));

获取字体:

selectedFont()

示例代码:

void Widget::Font()
{
    QFontDialog * fd = new QFontDialog(this);
    fd->setWindowTitle("select Font");
    fd->setCurrentFont(QFont("Arial",10,QFont::Bold));

    if(fd->exec() == QFontDialog::Accepted)
    {
        qDebug() << fd->selectedFont();
    }
}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。