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