自学内容网 自学内容网

9_25_对话框

QColorDialog(调色板对话框)

void MainWindow::on_pushButton_clicked()
{
//    //创建一个调色板对话框
//    QColorDialog* dialog = new QColorDialog(this);
//    //设置调色板对话框的初始值,不调整默认是白色
//  dialog->setCurrentColor(QColor(100,200,150));
//    dialog->getColor(QColor(0,255,0));
//    dialog->setWindowTitle("这是一个调色板");
//    //运行对话框
//    dialog->exec();

//    //删除对话框
//    delete dialog;

    //使用getcolor方法来获取用户选择的颜色
    QColor color = QColorDialog::getColor(QColor(0,255,255),this, "选择颜色");
    qDebug()<< color;

    QString style = "background-color:rgb(" + QString::number(color.red()) + "," + QString::number(color.green()) 
            + "," + QString::number(color.blue()) +");";
    
    this->setStyleSheet(style);
}

QFileDialog(文件对话框)

void MainWindow::on_pushButton_clicked()
{
    QString filePath = QFileDialog::getOpenFileName(this);
    qDebug() << filePath;
}

void MainWindow::on_pushButton_2_clicked()
{
    QString filePath = QFileDialog::getSaveFileName(this);
    qDebug() << filePath;
}

QInputDialog(输入对话框)

可以让用户输入一个具体的数据,可以是整数,浮点数,字符串的形式。

void MainWindow::on_pushButton_clicked()
{
    int i = QInputDialog::getInt(this, "输入整数","请输入一个整数",1);
    qDebug()<< i;
}

void MainWindow::on_pushButton_2_clicked()
{
    double j = QInputDialog::getDouble(this, "输入浮点数","输入一个浮点数");
    qDebug() << j;
}

输入条目的时候,需要一个 QStringList 格式的参数。用 push_back的方法往参数里添加数据

void MainWindow::on_pushButton_3_clicked()
{
    QStringList items;
    items.push_back("111");
    items.push_back("222");
    items.push_back("333");
    items.push_back("444");
    QString string = QInputDialog::getItem(this, "输入条目", "请输入一个条目", items);
    qDebug()<< string;
}

在这里插入图片描述
PS:尽量用用静态函数的方式创建对话框。

• 小结

1.菜单栏(QMenuBar)=>菜单(QMenu)=>菜单项(QAction)
2.工具栏(QToolBar)=>菜单项(QAction)
3.子窗口(QDockWidget)=>QWidget =>放置其他的控件
4.状态栏(QStatusBar)=> QWidget(永久信息,临时信息,进度条)
5.对话框(QDialog)=>自己手动继承的方式,对QDialog进行扩展,代码自定义和图形化自定义对话框
还有一些系统自带的对话框
QMessageBox、QFileDialog、QColorDialog、QFontDialog、QInoputDialog

原文地址:https://blog.csdn.net/m0_53697204/article/details/142533095

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!