QT中对话框的使用示例详解
音视频开发老舅 人气:0标准文件对话框
其函数形式如下::
QString QFileDialog::getOpenFileName ( QWidget * parent=0, const QString &caption=QString(), const QString &dir=QString(), const QString &filter=QString(), QString *selectFiler=0,//用户选择的过滤器通过此参数返回 Option option=0//选择显示文件名的格式,默认是同时显示目录和文件名 )
void Widget::btn_click() { /*getOpenFileName()打开的窗口是模式窗口*/ /*不含参数*/ //QString s=QFileDialog::getOpenFileName(); /*含参数 * 第一个参数是其父窗口的指针 * 第二个参数是打开窗口的名字 * 第三个参数dir,是对话框显示时默认打开的目录, * "." 代表程序运行目录,"/" 代表当前盘符的根目录(Windows,Linux下/就是根目录了), * 也可以是平台相关的,比如"C:\\"等; * 例如我想打开程序运行目录下的Data文件夹作为默认打开路径, * 这里应该写成"./Data/",若想有一个默认选中的文件, * 则在目录后添加文件名即可:"./Data/teaser.graph" * 第四个参数filter,是对话框的后缀名过滤器, * 比如我们使用"Image Files(*.jpg *.png)"就让它只能显示后缀名是jpg或者png的文件。 * 如果需要使用多个过滤器,使用";;"(这里是分号)分割, * 比如"JPEG Files(*.jpg);;PNG Files(*.png)"; * 第五个参数selectedFilter,是默认选择的过滤器; * 第六个参数options,是对话框的一些参数设定, * 比如只显示文件夹等等,它的取值是enum QFileDialog::Option,每个选项可以使用 | 运算组合起来。 */ QString s=QFileDialog::getOpenFileName(this,"打开窗口的名称","/","C++ file(*.cpp);;C file(*.c);;Head file(*.h)"); /*用户点击了确定*/ if(!s.isEmpty()) { this->setWindowTitle(s); } }
标准颜色对话框
其函数形式如下
getColor()函数是标准颜色对话框QColorDialog类的一个静态函数,该函数返回用户选择的颜色值,下面是getColor()函数形式:
QColor getColor ( const QColor &initial=QT::whiye, QWidget *parent=0 )
void Widget::btn_click() { /*头文件需要包含QColor和QColorDialog*/ /* * 第一个参数设置默认颜色,可选 * 第二个参数父窗口指针,可选 */ QColor c=QColorDialog::getColor(Qt::blue,this); }
标准字体对话框
其函数形式如下
getFont()函数是标准字体对话框QFontDialog类的一个静态函数,该函数返回用户所选择的字体,下面是getFont()函数形式
QFont getFont ( bool *ok, QWidget *parent=0 )
void Widget::btn_click() { bool ok; /* * getFont()第一个参数必选*/ QFontDialog::getFont(&ok); /*用户点击确定,返回true,用户点击取消,返回false*/ if(ok) { setWindowTitle("用户点击确定"); }else { setWindowTitle("用户点击取消"); } }
QMessageBox类
question()函数
StandardButton QMessageBox::question ( QWidget *parent,//消息框父窗口指针 const QString & title,//消息框标题栏 const QString & text,消息框文字提示信息 StandardButtons buttons=Ok, StandardButton defaultButton=No )
void Widget::btn_click() { /* * 第三个参数是设置对话框里有几个按钮, * 第四个参数是设置对话框默认选中的按钮是哪个*/ if(QMessageBox::question(this,"消息标题","消息内容实体",QMessageBox::Ok|QMessageBox::Cancel,QMessageBox::Ok)==QMessageBox::Ok) { /*用户点击了确定*/ setWindowTitle("OK"); }else { setWindowTitle("NO"); } }
information()函数
information()函数,主要是提示功能,不需要用户选择
StandardButton QMessageBox::information ( QWidget *parent,//消息框父窗口指针 const QString & title,//消息框标题栏 const QString & text,消息框文字提示信息 StandardButtons buttons=Ok, StandardButton defaultButton=No )
void Widget::btn_click() { /*一般不适用后两个参数*/ QMessageBox::information(this,"提示信息","提示内容"); }
warning()函数
warning消息框使用QMessageBox::warning()函数完成,函数形式如下
StandardButton QMessageBox::warning ( QWidget *parent,//消息框父窗口指针 const QString & title,//消息框标题栏 const QString & text,消息框文字提示信息 StandardButtons buttons=Ok, StandardButton defaultButton=No )
void Widget::btn_click() { /*和information()函数类似,只是页面上多了一个警告标志*/ if(QMessageBox::warning(this,"警告","你修改的内容还未保存,是否要保存队该文件的修改!",QMessageBox::Save|QMessageBox::Discard|QMessageBox::Cancel,QMessageBox::Save)==QMessageBox::Save) { setWindowTitle("save"); } }
critical()函数
critical()函数--严重错误:
critical消息框使用QMessageBox::critical()函数完成,函数形式如下
StandardButton QMessageBox::critical ( QWidget *parent,//消息框父窗口指针 const QString & title,//消息框标题栏 const QString & text,消息框文字提示信息 StandardButtons buttons=Ok, StandardButton defaultButton=No )
void Widget::btn_click() { QMessageBox::critical(this,"严重错误","该文件不可以删除!"); }
about()函数
about消息框使用QMessageBox::about()函数完成,函数形式如下
void QMessageBox::about ( QWidget *parent,//消息框父窗口指针 const QString & title,//消息框标题栏 const QString & text,消息框文字提示信息 )
void Widget::btn_click() { QMessageBox::about(this,"关于","这是本公司版权软件,盗版必究!"); }
加载全部内容