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