GTKmm:程序崩溃时,试图连接按钮点击信号
GTKmm: program crashes when trying to connect a button clicked signal
我在一个类(名为Main
)对象中有一个GTKmm应用程序。我使用Main
方法作为按钮单击动作的回调函数。
我用:
初始化按钮#define GTK_LOGIN_BUTTON_LOGIN "lw_loginButton"
[...]
builder->get_widget(GTK_LOGIN_BUTTON_LOGIN, loginWidgets.Login);
地点:
struct LoginWidgets {
Gtk::Button *Login;
Gtk::Entry *username;
Gtk::Entry *password;
} loginWidgets;
回调函数
void Main::on_login_button_login_clicked()
{
// Code
}
我将信号连接到GTKmm官方指南中报告的功能:
loginWidgets.Login->signal_clicked().connect(
sigc::mem_fun(this,&Main::on_login_button_login_clicked));
启动程序,它崩溃了。通过调试,我注意到它在试图连接信号后崩溃。注释最后一行代码,程序工作,但(显然)没有处理任何信号。编译和运行时没有错误报告。
有什么建议吗?
编辑:我更正了最后一行代码,因为我指出了错误的信号连接。sigc::mem_fun
函数作为第一个参数接受一个对象(*this
),而不是指向该对象(this
)的指针。所以你的代码应该是这样的:
loginWidgets.Login->signal_clicked().connect(
sigc::mem_fun(*this, &Main::on_login_button_login_clicked));
相关文章:
- 如何使用connect将qml按钮与同一类的cpp函数连接起来
- QT - 连接 Qml 按钮 单击到 Cpp 构造函数
- 按钮组上的 Qt 信号未连接
- QT按钮组和可检查的按钮:如何将切换信号与整数和布尔值连接?
- Qt按钮无法连接插槽
- 如何将此功能连接到我的连接按钮?
- QT连接到按钮不起作用
- 将类功能连接到按钮.(QT C )
- 如何使用方法连接按钮,请单击
- Teamviewers快速连接按钮是如何完成的
- 按钮连接Qt失败
- 如何将ui文件类中的按钮连接到其他类中的插槽
- 在Qt中连接按钮
- QT - 从成员 QWidget 连接错误的按钮
- 连接QListWidget滚动条和按钮
- GTKmm:程序崩溃时,试图连接按钮点击信号
- 连接按钮到任意功能
- 连接c++与UI按钮黑莓
- Qt如何使一个按钮响应时,插槽连接到它的click()信号正在运行
- 无法添加插槽并连接到按钮