QT:自定义消息对话框

一般步骤

  1. 创建一个按钮,绑定显示对话框事件
  2. 定义响应事件函数,创建对话框
  3. 获取对话框的点击事件(按钮)

实现代码

//....
  cBtn = new QPushButton;
  cBtn->setText("自定义对话框");
  label = new QLabel;
  label->setFrameStyle(QFrame::Panel|QFrame::Sunken);

  mainLayout->addWidget(cBtn,4,0);
  mainLayout->addWidget(label,4,1);

  connect(cBtn,SIGNAL(clicked()),this,SLOT(showDialog()));//绑定事件
//...

响应函数:

void Dialog::showDialog(){

   label->setText("Custom Dialog");
   QMessageBox customMsgBox;
   //添加自定义按钮
   QPushButton*ok = customMsgBox.addButton("ok",QMessageBox::ActionRole);
   QPushButton*no = customMsgBox.addButton("no",QMessageBox::ActionRole);
   //添加系统按钮
   QPushButton*cancle = customMsgBox.addButton(QMessageBox::Cancel);
   customMsgBox.setText("自定义消息框");//设置窗口文字提示
   customMsgBox.setWindowTitle("自定义消息对话框");//设置窗口标题
   //customMsgBox.setIconPixmap(QPixmap("01.png"))//设置图标
   customMsgBox.exec();//显示窗口
   //定义对话框响应事件
   if(customMsgBox.clickedButton()==ok){
       label->setText("ok");
   }

   if(customMsgBox.clickedButton()==no){
       label->setText("no");
   }

   if(customMsgBox.clickedButton()==cancle){
       label->setText("cancle");
   }

   return;
}

运行结果

QT:自定义消息对话框_第1张图片

你可能感兴趣的:(QT)