Qt的内建(built-in)对话框,多个信号连接一个槽

Qt的内建(built-in)对话框:

颜色对话框(QColorDialog),选择颜色

[html]  view plain copy print ?
  1. QColor clr=QColorDialog::getColor(plt.color(QPalette::Base),this);  

错误消息框(QErrorMessage),显示错误信息

[html]  view plain copy print ?
  1. QErrorMessage *box=new QErrorMessage(this);  
  2.         box->setWindowTitle("错误消息框");  
  3.         box->showMessage("错误消息框实例1");  

文件对话框(QFileDialog),选择一个或多个文件及目录

[html]  view plain copy print ?
  1. QString filename=QFileDialog::getOpenFileName(this,"打开文件","D:","任何文件(*.*);;文本文件(*.txt);;图像文件(*.jpg)");  

字体对话框(QFontDialog),字体设置

[html]  view plain copy print ?
  1. bool ok;  
  2.         const QFont& ft=QFontDialog::getFont(&ok,display_textedit->font(),this,"字体对话框");  

输入对话框(QInputDialog),进行简单输入

[html]  view plain copy print ?
  1. bool ok;  
  2.         QString input_text=QInputDialog::getText(this,"输入对话框","输入文本",QLineEdit::Normal,"我是默认输入的内容",&ok);  

页设置对话框(QPageSetupDialog),配置与打印机相关的选项

[html]  view plain copy print ?
  1. QPrinter printer;  
  2.         QPageSetupDialog dlg(&printer,this);  
  3.         dlg.setWindowTitle("页面设置对话框");  
  4.         if(dlg.exec()==QDialog::Accepted)  
  5.         {  
  6.             //我是下一步处理。。。  
  7.         }  

进度对话框(QProgressDialog),显示进度条

[html]  view plain copy print ?
  1. QProgressDialog progress("正在复制文件...","取消",0,100000,this);  
  2.         progress.setWindowModality(Qt::WindowModal);//模态对话框  
  3.         progress.show();  

打印对话框(QPrintDialog),配置打印机

[html]  view plain copy print ?
  1. QPrinter printer;  
  2.         QPrintDialog dlg(&printer,this);  
  3.         dlg.setWindowTitle("打印对话框");  

 

 多个信号连接一个槽时,在槽里可以用QObject::sender()返回发送信号的对象的指针,返回类型为QObject*。

如demo中:

[html]  view plain copy print ?
  1. QPushButton *btn=qobject_cast<QPushButton*>(sender());//获取发送信号的按钮的指针  

你可能感兴趣的:(Qt)