[問題] QT 請問object之間的連接??
小弟目前是QT的初學者,看了網路上的教學,裡面提到object之間的連接,下面是一個
小程式,我將 min和 max兩個按鈕和 label做連接,希望當兩個按鈕被按下時, label
能夠顯示出不同的訊息,但是為什麼按鈕按下時 label都沒改變呢??
connect(min, SIGNAL(clicked()), label, SLOT(setText("min")));
connect(max, SIGNAL(clicked()), label, SLOT(setText("max")));
是 connect的部分有什麼錯誤嗎?還是說遺漏其它部份呢?
=============================================================================
附上程式碼
#include <QApplication>
#include <QFont>
#include <QPushButton>
#include <QVBoxLayout>
#include <QWidget>
#include <QLabel>
class MyWidget : public QWidget
{
public:
MyWidget(QWidget *parent = 0);
};
MyWidget::MyWidget(QWidget *parent) : QWidget(parent)
{
QPushButton *quit = new QPushButton(tr("Quit"));
quit->setFont(QFont("Times", 18, QFont::Bold));
QPushButton *min = new QPushButton(tr("Min"));
min->setFont(QFont("Times", 18, QFont::Bold));
QPushButton *max = new QPushButton(tr("Max"));
max->setFont(QFont("Times", 18, QFont::Bold));
QLabel *label = new QLabel(tr("Lb1"));
label->setFont(QFont("Times", 18, QFont::Bold));
label->setText("L");
connect(quit, SIGNAL(clicked()), qApp, SLOT(quit()));
connect(min, SIGNAL(clicked()), label, SLOT(setText("min")));
connect(max, SIGNAL(clicked()), label, SLOT(setText("max")));
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(quit);
layout->addWidget(min);
layout->addWidget(max);
layout->addWidget(label);
setLayout(layout);
}
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MyWidget widget;
widget.show();
return app.exec();
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.163.91.90
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章