首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >QPushButton信号

QPushButton信号
EN

Stack Overflow用户
提问于 2022-04-28 14:15:44
回答 2查看 116关注 0票数 0

我正在尝试获得一个QPushButton的操作方法,运行以下操作。

我的日记

代码语言:javascript
运行
复制
//
// Created by simon on 28.04.22.
//

#ifndef RESTCLIENT_LOGIN_H
#define RESTCLIENT_LOGIN_H

#include <QWidget>
#include <QPushButton>
#include <QLineEdit>


QT_BEGIN_NAMESPACE
namespace Ui { class Login; }
QT_END_NAMESPACE

class Login : public QWidget {
Q_OBJECT

QPushButton * loginButton;
QLineEdit * passwordInput;
QLineEdit * usernameInput;
QObject::connect(loginButton, &QPushButton::click, this, &buttonPressed);

public slots:
    void buttonPressed();

public:
    explicit Login(QWidget *parent = nullptr);

    ~Login() override;

private:
    Ui::Login *ui;
};


#endif //RESTCLIENT_LOGIN_H

相应的login.cpp:

代码语言:javascript
运行
复制
#include "login.h"
#include "ui_Login.h"


Login::Login(QWidget *parent) :
        QWidget(parent), ui(new Ui::Login) {
    ui->setupUi(this);
}

Login::~Login() {
    delete ui;
}

void Login::buttonPressed() {
    //todo process login
}

生成失败,Clion以红色标记包含connect方法的代码行。我意识到我试图将信号连接到我的功能是错误的,我希望有人能帮助我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-04-28 14:24:23

问题是QPushButton::click()不是信号,而是执行单击的函数。

单击该按钮时发出的信号是:QPushButton::clicked()

如前所述,您应该从函数内部(例如在构造函数中)调用QObject::connect()函数。在类声明中调用它是没有意义的。

票数 3
EN

Stack Overflow用户

发布于 2022-04-28 14:24:29

连接调用看起来很好,除了click不是费雷亚诺第一次注意到他的回答那样的信号,而是使用来自QPushButton基类QAbstractButton的信号。有关所有可用信号,请参见QAbstractButton信号

此外,connect需要在函数的内部,而不是在类声明中。需要初始化按钮才能使连接正常工作,因此Login类的构造函数似乎是它的逻辑位置,例如:

代码语言:javascript
运行
复制
Login::Login(QWidget *parent) :
        QWidget(parent), ui(new Ui::Login) {
    ui->setupUi(this);
    QObject::connect(loginButton, &QPushButton::clicked, this, &buttonPressed);
}

从您显示的代码来看,loginButton似乎与ui中的其他GUI内容是分开的,因此您可能还需要首先创建该按钮,即在ui(...)之后添加, loginButton(new QPushButton),或者将loginButton移动到您的.ui文件中……

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72045302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档