asp.net 网站安装,做瞹瞹爱免费网站,园林设计网站大全,中英文 网站公开视频 - 链接点击跳转公开课程博客首页 - 链接点击跳转博客主页 目录
模态对话框
非模态对话框
文件对话框
基本概念
静态函数
常见属性
颜色对话框
基本概念
静态函数
常见属性
字体对话框
基本概念
静态函数
常见属性
输入对话框
基本概念 …公开视频 - 链接点击跳转公开课程博客首页 - 链接点击跳转博客主页 目录
模态对话框
非模态对话框
文件对话框
基本概念
静态函数
常见属性
颜色对话框
基本概念
静态函数
常见属性
字体对话框
基本概念
静态函数
常见属性
输入对话框
基本概念
静态函数
消息对话框
基本概念
静态函数 模态对话框 模态对话框是指在打开后用户必须与该对话框交互并关闭它才能返回到主窗口或其他窗口进行操作。在模态对话框打开期间主窗口和其他窗口都不可用。 模态对话框通常用于需要用户立即处理的情况如确认对话框、错误提示、设置窗口等。 在 Qt 中可以通过 QDialog 类实现模态对话框。你可以使用 exec() 方法来显示模态对话框。
void MainWindow::on_pushButton_clicked()
{QDialog dlg(this);QPushButton* btn new QPushButton(on_pushButton_clicked, dlg);dlg.exec();
}void MainWindow::on_pushButton_3_clicked()
{Dialog1 dlg(this);dlg.exec();
}非模态对话框 非模态对话框是指在打开后用户可以自由地与主窗口或其他窗口交互而不必首先关闭该对话框。 非模态对话框适用于不需要立即处理的情况如工具窗口、搜索窗口等。 在 Qt 中可以通过 QDialog 类实现非模态对话框。你可以使用 show() 方法来显示非模态对话框。
void MainWindow::on_pushButton_2_clicked()
{QDialog* dlg new QDialog(this);dlg-setAttribute(Qt::WA_DeleteOnClose);dlg-show();
}void MainWindow::on_pushButton_4_clicked()
{Dialog2* dlg new Dialog2(this);dlg-show();
}文件对话框 基本概念 QFileDialog一个用于选择文件或目录的对话框。 静态函数QFileDialog 提供了一些静态函数可以快速创建和显示文件对话框。 模式文件对话框可以是模态的阻塞父窗口或非模态的不阻塞父窗口。 静态函数 getOpenFileName选择一个文件进行打开。 getSaveFileName选择一个文件进行保存。 getExistingDirectory选择一个目录。 getOpenFileNames选择多个文件进行打开。 常见属性 setWindowTitle设置对话框的标题。 setDirectory设置对话框的初始目录。 setNameFilter设置文件过滤器。 setFileMode设置文件模式例如选择单个文件、多个文件、目录等。 setOption设置对话框的选项例如显示隐藏文件、不解析符号链接等。 getOpenFileName用于选择一个文件进行打开。 函数原型 QString QFileDialog::getOpenFileName(QWidget *parent nullptr,const QString caption QString(),const QString dir QString(),const QString filter QString(),QString *selectedFilter nullptr,Options options Options()
) 参数说明 parent父窗口用于模态对话框的父窗口。 caption对话框的标题。 dir初始目录。 filter文件过滤器例如 Images (*.png *.xpm *.jpg);;Text files (*.txt)。 selectedFilter选中的过滤器。 options对话框选项例如 QFileDialog::ReadOnly。 示例代码 void MainWindow::on_pushButton_5_clicked()
{QString fileName QFileDialog::getOpenFileName(this,Open File,D:\\Debug,Image(*.bmp *.png);;text(*.txt);;allfiles(*.*),NULL,QFileDialog::ReadOnly);qDebug() fileName;
} getSaveFileName用于选择一个文件进行保存。 函数原型 QString QFileDialog::getSaveFileName(QWidget *parent nullptr,const QString caption QString(),const QString dir QString(),const QString filter QString(),QString *selectedFilter nullptr,Options options Options()
) 参数说明 parent父窗口用于模态对话框的父窗口。 caption对话框的标题。 dir初始目录。 filter文件过滤器例如 Images (*.png *.xpm *.jpg);;Text files (*.txt)。 selectedFilter选中的过滤器。 options对话框选项例如 QFileDialog::ReadOnly。 示例代码 void MainWindow::on_pushButton_7_clicked()
{QString fileName QFileDialog::getSaveFileName(this,Save File,D:\\Debug,Image(*.bmp *.png);;text(*.txt);;allfiles(*.*),NULL,QFileDialog::ReadOnly);qDebug() fileName;
}getExistingDirectory用于选择一个目录。 函数原型 QString QFileDialog::getExistingDirectory(QWidget *parent nullptr,const QString caption QString(),const QString dir QString(),Options options ShowDirsOnly
) 参数说明 parent父窗口用于模态对话框的父窗口。 caption对话框的标题。 dir初始目录。 options对话框选项例如 QFileDialog::ShowDirsOnly。 示例代码
void MainWindow::on_pushButton_8_clicked()
{QString dir QFileDialog::getExistingDirectory(this,Open Directory,D:\\Debug,QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);qDebug() dir;
} getOpenFileNames用于选择多个文件进行打开。 函数原型 QStringList QFileDialog::getOpenFileNames(QWidget *parent nullptr,const QString caption QString(),const QString dir QString(),const QString filter QString(),QString *selectedFilter nullptr,Options options Options()
) 参数说明 parent父窗口用于模态对话框的父窗口。 caption对话框的标题。 dir初始目录。 filter文件过滤器例如 Images (*.png *.xpm *.jpg);;Text files (*.txt)。 selectedFilter选中的过滤器。 options对话框选项例如 QFileDialog::ReadOnly。 示例代码
void MainWindow::on_pushButton_6_clicked()
{QStringList fileName QFileDialog::getOpenFileNames(this,Open Files,D:\\Debug,Image(*.bmp *.png);;text(*.txt);;allfiles(*.*),NULL,QFileDialog::ReadOnly);qDebug() fileName;
} 颜色对话框 基本概念 QColorDialog一个用于选择颜色的对话框。 静态函数QColorDialog 提供了一些静态函数可以快速创建和显示颜色对话框。 模式颜色对话框可以是模态的阻塞父窗口或非模态的不阻塞父窗口。 静态函数 getColor选择一个颜色。 常见属性 setWindowTitle设置对话框的标题。 setCurrentColor设置初始颜色。 currentColor获取当前选中的颜色。 getColor 函数获取颜色 函数原型 QColor QColorDialog::getColor(const QColor initial Qt::white,QWidget *parent nullptr,const QString title QString(),ColorDialogOptions options ColorDialogOptions()
) 参数说明 initial初始颜色。默认为 Qt::white。 parent父窗口用于模态对话框的父窗口。 title对话框的标题。默认为空字符串。 options对话框选项。可以是 QColorDialog::ShowAlphaChannel 或其他选项的组合。 示例代码 void MainWindow::on_pushButton_9_clicked()
{QColor color QColorDialog::getColor(Qt::white, this, Select Color);if(color.isValid()){ui-pushButton_9-setStyleSheet(color: color.name() ;);qDebug() color.name();}}字体对话框 基本概念 QFontDialog一个用于选择字体的对话框。 静态函数QFontDialog 提供了一些静态函数可以快速创建和显示字体对话框。 模式字体对话框可以是模态的阻塞父窗口或非模态的不阻塞父窗口。 静态函数 getFont选择一个字体。 常见属性 setWindowTitle设置对话框的标题。 setCurrentFont设置初始字体。 currentFont获取当前选中的字体。 getFont选择一个字体。 函数原型 QFont QFontDialog::getFont(bool *ok,const QFont initial QFont(),QWidget *parent nullptr,const QString title QString(),FontDialogOptions options FontDialogOptions()
) 参数说明 ok一个布尔指针用于指示用户是否确认了选择。如果用户确认了选择*ok 将被设置为 true否则为 false。 initial初始字体。默认为空字体QFont()。 parent父窗口用于模态对话框的父窗口。 title对话框的标题。默认为空字符串。 options对话框选项。可以是 QFontDialog::NoButtons 或其他选项的组合。 示例代码 void MainWindow::on_pushButton_10_clicked()
{bool ok;QFont font QFontDialog::getFont(ok,QFont(Helvetica [Cronyx], 10),this,Select Font);if(ok){ui-pushButton_10-setFont(font);qDebug() font.family();}}输入对话框 基本概念 QInputDialog一个用于获取用户输入的对话框。 输入类型可以输入的类型包括字符串text、整数int、浮点数double等。 静态函数 getText获取字符串输入。 函数原型 QString QInputDialog::getText(QWidget *parent, const QString title, const QString label, QLineEdit::EchoMode mode QLineEdit::Normal, const QString text QString(), bool *ok nullptr,Qt::WindowFlags flags Qt::WindowFlags()
) 参数说明 parent父窗口指针用于模态对话框的父窗口。 title对话框的标题。 label对话框中显示的标签文本。 mode输入框的回显模式例如普通模式QLineEdit::Normal或密码模式QLineEdit::Password。 text输入框的初始文本。 ok布尔指针用于指示用户是否确认了输入。如果用户确认了输入*ok 将被设置为 true否则为 false。 flags窗口标志用于设置对话框的外观和行为。 getInt获取整数输入。
int QInputDialog::getInt(QWidget *parent, const QString title, const QString label, int value 0, int min -2147483647, int max 2147483647, int step 1, bool *ok nullptr, Qt::WindowFlags flags Qt::WindowFlags()
)参数说明 parent父窗口指针用于模态对话框的父窗口。 title对话框的标题。 label对话框中显示的标签文本。 value输入框的初始值。 min输入的最小值。 max输入的最大值。 step输入框的步长。 ok布尔指针用于指示用户是否确认了输入。如果用户确认了输入*ok 将被设置为 true否则为 false。 flags窗口标志用于设置对话框的外观和行为。 getDouble获取浮点数输入。 函数原型 double QInputDialog::getDouble(QWidget *parent, const QString title, const QString label, double value 0, double min -2147483647, double max 2147483647, int decimals 1, bool *ok nullptr, Qt::WindowFlags flags Qt::WindowFlags()
) 参数说明 parent父窗口指针用于模态对话框的父窗口。 title对话框的标题。 label对话框中显示的标签文本。 value输入框的初始值。 min输入的最小值。 max输入的最大值。 decimals输入框的小数位数。 ok布尔指针用于指示用户是否确认了输入。如果用户确认了输入*ok 将被设置为 true否则为 false。 flags窗口标志用于设置对话框的外观和行为。 getItem从一个项目列表中获取选择。 函数原型 QString QInputDialog::getItem(
QWidget *parent,
const QString title,
const QString label,
const QStringList items,
int current 0,
bool editable true,
bool *ok nullptr,
Qt::WindowFlags flags Qt::WindowFlags()
)参数说明 parent父窗口指针用于模态对话框的父窗口。 title对话框的标题。 label对话框中显示的标签文本。 items项目列表用户可以从中选择。 current初始选中的项目索引。 editable是否允许用户输入自定义文本。 ok布尔指针用于指示用户是否确认了输入。如果用户确认了输入*ok 将被设置为 true否则为 false。 flags窗口标志用于设置对话框的外观和行为。 示例代码 void MainWindow::on_pushButton_11_clicked()
{bool ok;QString text QInputDialog::getText(this,input dialog,please input your name:,QLineEdit::Normal,0xCC,ok );if(ok !text.isEmpty()){qDebug() text;}}void MainWindow::on_pushButton_12_clicked()
{bool ok;int value QInputDialog::getInt(this,input dialog,please input your age:,18,0,120,1,ok);if(ok) qDebug() value;
}void MainWindow::on_pushButton_13_clicked()
{bool ok;QStringList items;items apple banana;QString item QInputDialog::getItem(this,input dialog,please select a fruit,items,1,false,ok);if(ok) qDebug() item;
}消息对话框 基本概念 QMessageBox一个用于显示消息的对话框。 消息类型包括信息Information、警告Warning、错误Critical、询问Question等。 静态函数 information显示信息消息。 函数原型 int QMessageBox::information(QWidget *parent, const QString title, const QString text, int button0, int button1 0, int button2 0
) warning显示警告消息。 函数原型 int QMessageBox::warning(
QWidget *parent,
const QString title,
const QString text,
int button0,
int button1 0,
int button2 0
)critical显示错误消息。 函数原型 int QMessageBox::critical(
QWidget *parent,
const QString title,
const QString text,
int button0,
int button1 0,
int button2 0
)question显示询问消息。 函数原型 int QMessageBox::question(
QWidget *parent,
const QString title,
const QString text,
int button0,
int button1 0,
int button2 0
)参数说明 parent父窗口指针用于模态对话框的父窗口可以是 nullptr 表示没有父窗口。 title对话框的标题。 text对话框中显示的主要消息文本。 button0对话框中的第一个按钮使用 QMessageBox::StandardButton 枚举值。 button1对话框中的第二个按钮可选使用 QMessageBox::StandardButton 枚举值。 button2对话框中的第三个按钮可选使用 QMessageBox::StandardButton 枚举值。 示例代码 void MainWindow::on_pushButton_14_clicked()
{QMessageBox::information(this, information, This is a information message, QMessageBox::Ok);
}void MainWindow::on_pushButton_15_clicked()
{QMessageBox::warning(this, warning, This is a warning message);
}void MainWindow::on_pushButton_16_clicked()
{QMessageBox::critical(this, critical, This is a critical message);
}void MainWindow::on_pushButton_17_clicked()
{int ret QMessageBox::question(this, question, Are you want to continue?);if(ret QMessageBox::Yes){QMessageBox::information(this, information, your chose yes);}else{QMessageBox::information(this, information, your chose no);}
}