4
我正在尝试制作一个由按钮和标签组成的简单程序。当按下按钮时,它应该将标签文本更改为程序内QString变量的内容。这里是我到目前为止的代码:更改Qt中的标签
这是我widget.h文件:
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
private:
Ui::WidgetClass *ui;
QString test;
private slots:
void myclicked();
};
而这里的Widget类的实现:
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent), ui(new Ui::WidgetClass)
{
ui->setupUi(this);
test = "hello world";
connect(ui->pushButton, SIGNAL(clicked()), ui->label, SLOT(myclicked()));
}
Widget::~Widget()
{
delete ui;
}
void Widget::myclicked(){
ui->label->setText(test);
}
它运行按钮被按下时,但是,什么都没发生。我究竟做错了什么?
编辑:我得到它的工作后,标签中的文本大于标签本身,所以文本被剪辑。我通过将添加到myclicked()的定义来修复它。