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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值