only one QPushButton with QWidget works
-
Hello to all,
I got a lot of very helpfull information on thos forum. Thanks to all.
Now I have a problem creating a widget.
Here my settings:- lWidget size = 480x320
- I removed the following items: QMenuBar, QToolBar, QStatusBar
- I still have : QMainWindow and QWidget
- Then I created two PushButtons Shutdown and MotorOnOf
When I execute the programm it catches only the PushButton Shutdown
When I have a button on this position on the raspbian GUI I can get it.
What could be the problem?
Here the program files:
MainWindow.cpp#include "mainwindow.h" #include "ui_mainwindow.h" #include <QPushButton> #include <QDebug> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_ShutdownButton_clicked() { qDebug() << "Shutown now"; } void MainWindow::on_MotorOnOffButton_clicked() { qDebug() << "engine on"; }
MainWindow.h:
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = nullptr); ~MainWindow(); private slots: void on_ShutdownButton_clicked(); void on_MotorOnOffButton_clicked(); private: Ui::MainWindow *ui; }; #endif // MAINWINDOW_H
MainWindow.ui:
<?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> <class>MainWindow</class> <widget class="QMainWindow" name="MainWindow"> <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>480</width> <height>320</height> </rect> </property> <property name="windowTitle"> <string>MainWindow</string> </property> <widget class="QWidget" name="centralWidget"> <widget class="QPushButton" name="MotorOnOffButton"> <property name="geometry"> <rect> <x>360</x> <y>270</y> <width>89</width> <height>25</height> </rect> </property> <property name="text"> <string>Engine off</string> </property> </widget> <widget class="QPushButton" name="ShutdownButton"> <property name="geometry"> <rect> <x>70</x> <y>230</y> <width>89</width> <height>25</height> </rect> </property> <property name="text"> <string>Shutdown</string> </property> </widget> </widget> </widget> <layoutdefault spacing="6" margin="11"/> <resources/> <connections/> </ui>
-
Hi
Without code, its really hard to guess at anything.You can paste the code here. just use the code tag from the editor.
-
Hi,
Do you have any runtime warning about slots not connected ?
-
There's no Qt debugger as there is no Qt compiler.
As for the runtime warning, they are printed on stdout.
-
@SGaist
yes there are some warnings:16:15:13: Checking available ports... 16:15:13: Found 101 free ports. 16:15:13: Starting gdbserver --multi :10000... 16:15:13: Debugging starts SSH is enabled and the default password for the 'pi' user has not been changed. This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password. 1689 Listening on port 10000 Remote debugging from host 192.168.180.65 Process /opt/Teleskop/bin/Teleskop created; pid = 1707 Could not load shared library symbols for 3 libraries, e.g. /usr/local/qt5pi/lib/libQt5Widgets.so.5. Use the "info sharedlibrary" command to see the complete listing. Do you need "set solib-search-path" or "set sysroot"?Could not load shared library symbols for 3 libraries, e.g. /usr/local/qt5pi/plugins/platforms/libqeglfs.so.Use the "info sharedlibrary" command to see the complete listing. Do you need "set solib-search-path" or "set sysroot"? Could not load shared library symbols for /usr/local/qt5pi/plugins/egldeviceintegrations/libqeglfs-brcm-integration.so.Do you need "set solib-search-path" or "set sysroot"? Could not load shared library symbols for /usr/local/qt5pi/plugins/imageformats/libqgif.so.Do you need "set solib-search-path" or "set sysroot"? Could not load shared library symbols for /usr/local/qt5pi/plugins/imageformats/libqico.so.Do you need "set solib-search-path" or "set sysroot"? Could not load shared library symbols for /usr/local/qt5pi/plugins/imageformats/libqjpeg.so.Do you need "set solib-search-path" or "set sysroot"? Unable to query physical screen size, defaulting to 100 dpi.To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
Maybe there is a failure.
-
Are you running this application on a remote device ?
If so, you should rather make it run first on your desktop machine and then run on the device.
-
@SGaist
I added the Kit for Desktop Qt 5.12.3 GCC 64 Bit-
It doesn't work. This is the error:17:06:03: Running steps for project Teleskop... 17:06:03: Configuration unchanged, skipping qmake step. 17:06:03: Starting: "/usr/bin/make" -j4 g++ -Wl,-rpath,/home/kurt/Qt/5.12.3/gcc_64/lib -o Teleskop main.o mainwindow.o moc_mainwindow.o -L/home/kurt/Qt/5.12.3/gcc_64/lib -lQt5Widgets -lQt5Gui -lQt5Core -lGL -lpthread /usr/bin/ld: cannot find -lGL Makefile:263: recipe for target 'Teleskop' failed collect2: error: ld returned 1 exit status make: *** [Teleskop] Error 1 17:06:03: The process "/usr/bin/make" exited with code 2. Error while building/deploying project Teleskop (kit: Desktop Qt 5.12.3 GCC 64bit) When executing step "Make" 17:06:03: Elapsed time: 00:00.
I think I have to add the module GL. Is this correct? But where can I find this?
-
The missing GL error has been asked about many times already, you have to install the OpenGL development package from your distribution.
-
@SGaist
Yes I try to run it remotely on a raspberry.
Now I have installed the kit for the host PC. Yes it works perfect on the host.
What can I do to make it working on a remote raspberry? I use /usr/bin/gdb-multiarch for debugging remotely on the raspberry. Is this ok -
Do you mean that your application is working fine on your desktop and still not on your target ?
-
@SGaist yes
if the target is the linux host (ubuntu desktop) the application works fine.
If the target is the raspberry it does not work.
What about this info:Could not load shared library symbols for 3 libraries, e.g. /usr/local/qt5pi/lib/libQt5Widgets.so.5.
Is there something missing?
Maybe somebody knows more about this problem. -
What do you get if you call ldd on that file ?
-
@k-str said in only one QPushButton with QWidget works:
Sorry, I made a mistake
What do you mean with that ?
-
Looks good. What is the exact error message you're getting when starting your application ?