QT程序异常退出

时间:2022-09-17 20:07:12
我在window下编写的程序能够正常运行,然后把源码拿到linux下的QTCreator结果程序异常退出,win下linux都是QT5.3.2,构建是没有任何问题的,可是运行就直接异常结束了,
报错如下:
Starting /home/zqs/QT/build-Final-Desktop_Qt_5_4_0_GCC_64bit-Debug/Final...
QMetaObject::connectSlotsByName: No matching signal for on_button_turn_liucheng_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_button_turn_xitong_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_button_turn_netconfig_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_button_turn_data_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_button_turn_historydata_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_button_turn_alarm_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_button_turn_shezhi_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_button_true_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_button_1_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_button_2_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_button_3_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_button_4_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_button_5_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_button_6_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_button_7_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_button_8_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_button_9_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_button_0_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_button_dian_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_button_shanchu_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_button_clean_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_button_ok_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_button_close_clicked()
程序异常结束。
/home/zqs/QT/build-Final-Desktop_Qt_5_4_0_GCC_64bit-Debug/Final crashed
这个报错没有任何提示,运行应该弹出我创建的窗口,可是窗口都还没有弹出就直接异常结束了

12 个解决方案

#1


我在每个界面的构造函数中都加有一个打印字符串,可是一个都没有打印出来

#2


QMetaObject::connectSlotsByName: No matching signal for on_button_turn_liucheng_clicked()
Qt信号与槽的问题吧

#3


程序在win下跑没有任何问题,我把该删的都删了,只留了源码放到linux下跑就出问题了,代码中也没有调用window的API

#4


引用 2 楼 qyvlik 的回复:
QMetaObject::connectSlotsByName: No matching signal for on_button_turn_liucheng_clicked()
Qt信号与槽的问题吧

它是说这个按钮没有收到点击信号,可是我界面都没有弹出来,怎么有机会点击那个按钮呢,这个程序在win下跑完全没有问题,任何按钮都随便点,界面随便切换,但放到linux下来就出了这个问题,它又不给提示,让我完全不知道从哪开始调试啊

#5


我在win下写了一些简单的小程序放到linux下跑是可以运行的,就是这个,太大了也不晓得从哪下手,求大神支招啊!有没有遇到过类似问题的?求指导

#6


信号是在设计界面中添加的嘛,如果是换成在代码中自己添加信号槽连接试试,或者emit
QT程序异常退出

#7


首先:你看到的这些是运行时的 Warning 信息,是你的槽函数命名不当造成的,在Windows下,你肯定也会看到这些warning 信息。

其次:你的程序崩溃的原因和你给出的这些的warning 没有任何关系。你需要调试程序来定位你的问题。(在Windows下可以运行 并不能保证你的代码是正确的)

#8


引用 7 楼 dbzhang800 的回复:
首先:你看到的这些是运行时的 Warning 信息,是你的槽函数命名不当造成的,在Windows下,你肯定也会看到这些warning 信息。

其次:你的程序崩溃的原因和你给出的这些的warning 没有任何关系。你需要调试程序来定位你的问题。(在Windows下可以运行 并不能保证你的代码是正确的)

win下编译只有一个警告,是一个变量没有用到,其他没有任何警告,说实话我就是不知道该怎么调试才上来问的

#9


试试先把那些注释了,慢慢找问题

#10


引用 4 楼 u014026614 的回复:
它是说这个按钮没有收到点击信号


它是说信号和槽根本就没connect上

Qt Creator按F5启动调试,会在崩溃的那一行停下来

仔细研究一下调用栈和变量大概就知道问题了

#11


引用 6 楼 u010002704 的回复:
信号是在设计界面中添加的嘛,如果是换成在代码中自己添加信号槽连接试试,或者emit
QT程序异常退出

你说的这个不是问题吧,主要是我用代码链接的信号与槽,槽是以on_开头的所以报这个错,但不不会影响功能的,我现在把这些槽的名字改了,没有报错了

#12


要检查一下Qt程序依赖的库有没有找到 ldd + 可执行程序 看看  
信号与槽的连接 如果用的是 SIGNAL SLOT 的 语法  在编译的时候不会报错  运行的时候才报警
还有吐槽一下楼主的命名  居然混合使用了 英文和拼音   

#1


我在每个界面的构造函数中都加有一个打印字符串,可是一个都没有打印出来

#2


QMetaObject::connectSlotsByName: No matching signal for on_button_turn_liucheng_clicked()
Qt信号与槽的问题吧

#3


程序在win下跑没有任何问题,我把该删的都删了,只留了源码放到linux下跑就出问题了,代码中也没有调用window的API

#4


引用 2 楼 qyvlik 的回复:
QMetaObject::connectSlotsByName: No matching signal for on_button_turn_liucheng_clicked()
Qt信号与槽的问题吧

它是说这个按钮没有收到点击信号,可是我界面都没有弹出来,怎么有机会点击那个按钮呢,这个程序在win下跑完全没有问题,任何按钮都随便点,界面随便切换,但放到linux下来就出了这个问题,它又不给提示,让我完全不知道从哪开始调试啊

#5


我在win下写了一些简单的小程序放到linux下跑是可以运行的,就是这个,太大了也不晓得从哪下手,求大神支招啊!有没有遇到过类似问题的?求指导

#6


信号是在设计界面中添加的嘛,如果是换成在代码中自己添加信号槽连接试试,或者emit
QT程序异常退出

#7


首先:你看到的这些是运行时的 Warning 信息,是你的槽函数命名不当造成的,在Windows下,你肯定也会看到这些warning 信息。

其次:你的程序崩溃的原因和你给出的这些的warning 没有任何关系。你需要调试程序来定位你的问题。(在Windows下可以运行 并不能保证你的代码是正确的)

#8


引用 7 楼 dbzhang800 的回复:
首先:你看到的这些是运行时的 Warning 信息,是你的槽函数命名不当造成的,在Windows下,你肯定也会看到这些warning 信息。

其次:你的程序崩溃的原因和你给出的这些的warning 没有任何关系。你需要调试程序来定位你的问题。(在Windows下可以运行 并不能保证你的代码是正确的)

win下编译只有一个警告,是一个变量没有用到,其他没有任何警告,说实话我就是不知道该怎么调试才上来问的

#9


试试先把那些注释了,慢慢找问题

#10


引用 4 楼 u014026614 的回复:
它是说这个按钮没有收到点击信号


它是说信号和槽根本就没connect上

Qt Creator按F5启动调试,会在崩溃的那一行停下来

仔细研究一下调用栈和变量大概就知道问题了

#11


引用 6 楼 u010002704 的回复:
信号是在设计界面中添加的嘛,如果是换成在代码中自己添加信号槽连接试试,或者emit
QT程序异常退出

你说的这个不是问题吧,主要是我用代码链接的信号与槽,槽是以on_开头的所以报这个错,但不不会影响功能的,我现在把这些槽的名字改了,没有报错了

#12


要检查一下Qt程序依赖的库有没有找到 ldd + 可执行程序 看看  
信号与槽的连接 如果用的是 SIGNAL SLOT 的 语法  在编译的时候不会报错  运行的时候才报警
还有吐槽一下楼主的命名  居然混合使用了 英文和拼音