qt信号与槽记录按钮点击次数
时间: 2023-08-24 22:08:04 浏览: 243
下面是一个使用Qt信号和槽记录按钮点击次数的示例代码:
```
#include <QtWidgets>
class Counter : public QWidget
{
Q_OBJECT
public:
Counter(QWidget *parent = nullptr);
private:
QLabel *valueLabel;
QPushButton *countButton;
int count;
private slots:
void incrementCount();
};
Counter::Counter(QWidget *parent)
: QWidget(parent), count(0)
{
valueLabel = new QLabel("0", this);
valueLabel->setAlignment(Qt::AlignCenter);
valueLabel->setFixedSize(100, 50);
countButton = new QPushButton("Count", this);
countButton->setFixedSize(100, 50);
connect(countButton, SIGNAL(clicked()), this, SLOT(incrementCount()));
QHBoxLayout *layout = new QHBoxLayout();
layout->addWidget(valueLabel);
layout->addWidget(countButton);
setLayout(layout);
}
void Counter::incrementCount()
{
count++;
valueLabel->setText(QString::number(count));
}
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
Counter counter;
counter.show();
return app.exec();
}
```
在这个示例中,Counter类继承自QWidget,它有一个值标签和一个计数按钮。在构造函数中,我们创建了这些小部件并将它们添加到布局中。我们还将计数按钮的clicked信号连接到incrementCount槽。
incrementCount槽只是简单地增加计数并将其显示在值标签上。
当我们运行这个应用程序时,它会显示一个窗口,其中包含一个值标签和一个计数按钮。每次单击计数按钮时,计数将增加,并且值标签将更新以反映新计数值。
阅读全文