Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt
  • Unsolved
Collapse
qtws26_logo

The Qt Event of the Year: Qt World Summit 2026

Save Your Spot >
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. A camera problem.
Qt 6.12 LTS is out! See what's new in the release blog

A camera problem.

Scheduled Pinned Locked Moved Unsolved General and Desktop
91 Posts 7 Posters 47.5k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • JonBJ JonB

    @jenya7 said in A camera problem.:

    I put a break point in the MainWindow constructor and Camera constructor and see which hits the first.

    And what was the result?!

    I see the Camera object is created before MainWindow::MainWindow(QWidget *parent) constructor.

    At the time your Camera::setCamera() is called, has v_finder = new QCameraViewfinder(this); been executed yet? If not then v_finder in m_camera->setViewfinder(v_finder) will be nullptr....

    J Offline
    J Offline
    jenya7
    wrote on last edited by
    #81

    @JonB said in A camera problem.:

    @jenya7 said in A camera problem.:

    I put a break point in the MainWindow constructor and Camera constructor and see which hits the first.

    And what was the result?!

    I see the Camera object is created before MainWindow::MainWindow(QWidget *parent) constructor.

    At the time your Camera::setCamera() is called, has v_finder = new QCameraViewfinder(this); been executed yet? If not then v_finder in m_camera->setViewfinder(v_finder) will be nullptr....

    m_camera->setViewfinder(v_finder) is executed first

    JonBJ 1 Reply Last reply
    0
    • J jenya7

      @JonB said in A camera problem.:

      @jenya7 said in A camera problem.:

      I put a break point in the MainWindow constructor and Camera constructor and see which hits the first.

      And what was the result?!

      I see the Camera object is created before MainWindow::MainWindow(QWidget *parent) constructor.

      At the time your Camera::setCamera() is called, has v_finder = new QCameraViewfinder(this); been executed yet? If not then v_finder in m_camera->setViewfinder(v_finder) will be nullptr....

      m_camera->setViewfinder(v_finder) is executed first

      JonBJ Offline
      JonBJ Offline
      JonB
      wrote on last edited by
      #82

      @jenya7
      Then obviously it is not the right place to put m_camera->setViewfinder(v_finder);.... You cannot execute that line until both m_camera & v_finder have been initialized, so move it somewhere suitable.

      J 2 Replies Last reply
      1
      • JonBJ JonB

        @jenya7
        Then obviously it is not the right place to put m_camera->setViewfinder(v_finder);.... You cannot execute that line until both m_camera & v_finder have been initialized, so move it somewhere suitable.

        J Offline
        J Offline
        jenya7
        wrote on last edited by
        #83

        @JonB said in A camera problem.:

        @jenya7
        Then obviously it is not the right place to put m_camera->setViewfinder(v_finder);.... You cannot execute that line until both m_camera & v_finder have been initialized, so move it somewhere suitable.

        I'll try

        1 Reply Last reply
        0
        • M Offline
          M Offline
          mchinand
          wrote on last edited by
          #84

          It seems your code is largely based on the Camera Example; is that correct? Does that example work for you unmodified?

          J 1 Reply Last reply
          0
          • M mchinand

            It seems your code is largely based on the Camera Example; is that correct? Does that example work for you unmodified?

            J Offline
            J Offline
            jenya7
            wrote on last edited by
            #85

            @mchinand said in A camera problem.:

            It seems your code is largely based on the Camera Example; is that correct? Does that example work for you unmodified?

            It's a widget based example. I removed all widget related stuff cause I don't have all these controls for camera operating in my app. I control the camera with commands I type in a terminal.

            jsulmJ 1 Reply Last reply
            0
            • J jenya7

              @mchinand said in A camera problem.:

              It seems your code is largely based on the Camera Example; is that correct? Does that example work for you unmodified?

              It's a widget based example. I removed all widget related stuff cause I don't have all these controls for camera operating in my app. I control the camera with commands I type in a terminal.

              jsulmJ Offline
              jsulmJ Offline
              jsulm
              Lifetime Qt Champion
              wrote on last edited by
              #86

              @jenya7 Come on, the question is whether this example works with your camera or not! Can't you simply try that?

              https://forum.qt.io/topic/113070/qt-code-of-conduct

              J 1 Reply Last reply
              3
              • jsulmJ jsulm

                @jenya7 Come on, the question is whether this example works with your camera or not! Can't you simply try that?

                J Offline
                J Offline
                jenya7
                wrote on last edited by jenya7
                #87

                @jsulm said in A camera problem.:

                @jenya7 Come on, the question is whether this example works with your camera or not! Can't you simply try that?

                I'll try tomorrow. I have to get a camera.

                well...in the original example I press on Capture Photo and it stays inactive forever.

                J.HilkJ 1 Reply Last reply
                0
                • J Offline
                  J Offline
                  jenya7
                  wrote on last edited by jenya7
                  #88

                  How can I pass a default camera instance to use it later?
                  In camera.h

                  class Camera : public QMainWindow
                  {
                      Q_OBJECT
                  
                      public:
                      Camera();
                      void Camera::setCamera(const QCameraInfo &cameraInfo);
                  
                      const QCameraInfo* default_camera;   
                  }
                  

                  in camera.cpp in a constructor

                  if (cameraInfo == QCameraInfo::defaultCamera())
                  {
                         default_camera = new QCameraInfo(cameraInfo );
                          videoDeviceAction->setChecked(true);
                  }
                  

                  in main.cpp

                  g_camera.SetCamera(g_camera.default_camera );
                  

                  I get
                  error: reference to type 'const QCameraInfo' could not bind to an lvalue of type 'const QCameraInfo *'

                  1 Reply Last reply
                  0
                  • J jenya7

                    @jsulm said in A camera problem.:

                    @jenya7 Come on, the question is whether this example works with your camera or not! Can't you simply try that?

                    I'll try tomorrow. I have to get a camera.

                    well...in the original example I press on Capture Photo and it stays inactive forever.

                    J.HilkJ Offline
                    J.HilkJ Offline
                    J.Hilk
                    Moderators
                    wrote on last edited by
                    #89

                    @jenya7 said in A camera problem.:

                    I'll try tomorrow. I have to get a camera.

                    wait!

                    how do you expect the state to change to a ready for capture == true, when you have no camera connected that could be used ?


                    Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                    Q: What's that?
                    A: It's blue light.
                    Q: What does it do?
                    A: It turns blue.

                    J 1 Reply Last reply
                    0
                    • J.HilkJ J.Hilk

                      @jenya7 said in A camera problem.:

                      I'll try tomorrow. I have to get a camera.

                      wait!

                      how do you expect the state to change to a ready for capture == true, when you have no camera connected that could be used ?

                      J Offline
                      J Offline
                      jenya7
                      wrote on last edited by jenya7
                      #90

                      @J-Hilk said in A camera problem.:

                      @jenya7 said in A camera problem.:

                      I'll try tomorrow. I have to get a camera.

                      wait!

                      how do you expect the state to change to a ready for capture == true, when you have no camera connected that could be used ?

                      It's connected. The constructor detects it - "dev/video0".

                      I just wonted to try the original example on Windows. my app is running on Linux.

                      1 Reply Last reply
                      0
                      • JonBJ JonB

                        @jenya7
                        Then obviously it is not the right place to put m_camera->setViewfinder(v_finder);.... You cannot execute that line until both m_camera & v_finder have been initialized, so move it somewhere suitable.

                        J Offline
                        J Offline
                        jenya7
                        wrote on last edited by
                        #91

                        @JonB said in A camera problem.:

                        @jenya7
                        Then obviously it is not the right place to put m_camera->setViewfinder(v_finder);.... You cannot execute that line until both m_camera & v_finder have been initialized, so move it somewhere suitable.

                        I resolved the issue. Now I get

                        Ready for capture: true

                        But on takeImage

                        QWidget::paintEngine: Should no longer be called
                        CameraBin warning: "Resource busy or not available."

                        1 Reply Last reply
                        0

                        • Login

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • Users
                        • Groups
                        • Search
                        • Get Qt
                        • Unsolved