在QT中,怎么让一个按钮点击一下换个功能,再点击又变回原来的功能
在QT中,如何让一个按钮点击一下换个功能,再点击又变回原来的功能比如一个“修改”按钮,我点击一下,他就变成“
在QT中,如何让一个按钮点击一下换个功能,再点击又变回原来的功能
比如一个“修改”按钮,我点击一下,他就变成“保存”了
我知道有一种办法就是弄两个按钮重叠放置,一个“修改”按钮,一个“保存”按钮,点击其中一个,这个就隐藏,另一个就显示,
但是我在QT designer 里,怎么弄都没办法把两个按钮重叠在一起啊,该怎么解决啊
[解决办法]
点击之后在槽函数里把这个按钮的名称改成“保存”不就得了
[解决办法]
完全可以在用一个按钮啊,增加一个变量,在clicked()所连接的槽里,每点击一次就改变这个变量,然后改变按钮标题以及所做的事件处理。
[解决办法]
楼主真新!!
[解决办法]
槽函数里面写成switch,两个case相互转变就可以,每个case是你的一个功能...
[解决办法]
有什么的,简单,一个水平布局,从左到右放控件:两个按钮(修改,保存)、间隔器(弹簧)
初始状态,保存按钮hide()。
修改按钮槽:隐藏-修改按钮hide(),显示-保存按钮show()
保存按钮槽反向操作。
[解决办法]
[解决办法]在new pushbutton的时候记得设置pushButton->setCheckable(true);默认为false
clicked(bool)信号, 连接一个槽 slot_button_clicked(bool flag); if(flag){pushbutton->setText("保存")}else{pushbutton->setText("修改")};
[解决办法]这样行不?
bool flag = true;
if (flag)
pushbutton->setText(tr("保存"));
else
pushbutton->setText(tr("修改"));
flag = !flag;
[解决办法]不行。 那你这样永远只能显示保存,
if(!m_pushButton->isChecked())
{
m_pushButton->setText("保存");
}else
{
m_pushButton->setText("修改");
} 如果连接的是没有bool的信号,就这样写。
[解决办法]#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
private slots:
void on_pushButtonS_clicked();
void on_pushButtonM_clicked();
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
#include "Widget.h"
#include "ui_Widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
ui->pushButtonS->hide();
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_pushButtonS_clicked()//保存按钮
{
ui->pushButtonM->show();
ui->pushButtonS->hide();
}
void Widget::on_pushButtonM_clicked()//修改按钮
{
ui->pushButtonM->hide();
ui->pushButtonS->show();
}