1.List Widget
1.对List Widget实现插入,,并且通过输入的lineedit,获取当前的lineedit的text,插入到List Widget
ui实现,可以通过代码向list widget中插入数据,或者通过输入在lineedit中,点击插入按钮进行插入,删除按钮删除选中的数据
cpp
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
ui->listWidget->addItem("c++"); //第一种方式向listWidget添加数据
ui->listWidget->addItem("java");
ui->listWidget->addItem("c语言");
ui->listWidget->addItem(new QListWidgetItem("python"));//第二种方式向listWidget添加数据
}
也可以右击list Widget,点击+号添加数据
2.通过lineedit获取输入,通过按钮实现插入
cpp
void Widget::on_pushButton_clicked()
{
QString str=ui->lineEdit->text();//获取lineedit 数据
ui->listWidget->addItem(str);//添加到listWidget
}
3.将选中的数据进行删除
cpp
void Widget::on_pushButton_2_clicked()
{
int row=ui->listWidget->currentRow();//获取当前选择是哪一行
ui->listWidget->takeItem(row);//删除对应行
}
4.将list Widget转到槽
cpp
void Widget::on_listWidget_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous)
{
if(current!=nullptr)//显示当前选择的
{
qDebug()<<current->text();
}
if(previous!=nullptr)//显示之前选择的
{
qDebug()<<previous->text();
}
}
效果演示:
listwidget
2.QMessageBox
设置消息弹框(设置标题->设置内容->设置图标->设置按钮)
cpp
void Widget::on_pushButton_clicked()
{
QMessageBox* box=new QMessageBox(this);
box->setWindowTitle("警告");//消息框标题
box->setText("你输入有误");//消息框内容
box->setIcon(QMessageBox::Warning);//消息图案
box->setStandardButtons(QMessageBox::Ok|QMessageBox::Cancel|QMessageBox::Save);//显示按钮
box->exec();//代码到这里会阻塞的,等待对话框被关闭
}
也可以通过自定义设置按钮
cpp
void Widget::on_pushButton_clicked()
{
QMessageBox* box=new QMessageBox(this);
box->setWindowTitle("警告");//消息框标题
box->setText("你输入有误");//消息框内容
box->setIcon(QMessageBox::Warning);//消息图案
//box->setStandardButtons(QMessageBox::Ok|QMessageBox::Cancel|QMessageBox::Save);//显示按钮
QPushButton* st=new QPushButton(this);//定义一个按键对象
box->addButton(st,QMessageBox::AcceptRole);//将按键添加至消息框,并且指定消息框的作用
box->exec();//代码到这里会阻塞的,等待对话框被关闭
}
根据exec的返回值,判断哪个按键被被按下了
cpp
//返回值判断哪个被点击了
int which=box->exec();//代码到这里会阻塞的,等待对话框被关闭
if(which==QMessageBox::Ok)
{
qDebug()<<"ok";
}
else if(which==QMessageBox::Cancel)
{
qDebug()<<"Cancel";
}
else
{
qDebug()<<"Save";
}
效果演示:
简单实现消息框功能
cpp
void Widget::on_pushButton_clicked()
{
int result=QMessageBox::warning(this,"标题","你的输入有误",QMessageBox::Ok|QMessageBox::Cancel);
if(result==QMessageBox::Ok)
{
qDebug()<<"ok";
}
else if(result==QMessageBox::Cancel)
{
qDebug()<<"Cancel";
}
}