新建buttonboxGUI Application项目。布局如图:
最上边: lineEdit 作为输入框
中间: buttonBox控件 确定和取消
最下边:textEdit 用来当按下“确定” 按钮时, 显示lineEdit输入的文字; 或按下“取消” 时清空textEdit控件中内容。
实现:
1. 头文件中mainWindow.h
添加: #include <QAbstractButton>
#include <QPushButton>
2. 右击buttonBox 选“ go to slots" (即转到槽),自动完成槽函数的添加
private slots;
void on_buttonbox_clicked(QAbstractButton *button);
3. 在mainWindow.cpp中实现槽函数(上边的):
void mainWindow::on_buttonbox_clicked(QAbstractButton *button)
{
QString str;
str = ui->textEdit->toPlainText(); //取得textEdit的输入内容
if(ui->buttonBox->button(QDialogButtonBox::Ok) == button) //判断按下的是否为"确定”按钮
{
if(!ui->lineEdit->text().isEmpty()) //判断lineEdit是否为空,不为空返回0
{
str += ui->lineEdit->text()+"\n"; //str连接lineEdit中的内容
ui->textEdit->setPlainText(str); //显示str内容
}
}
else if(button == ui->buttonBox->button((QDialogButtonBox::Cancel)))
ui->textEdit->setPlainText(" ");
}
4.运行结果