Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Qt Linguist translation error
Forum Updated to NodeBB v4.3 + New Features

Qt Linguist translation error

Scheduled Pinned Locked Moved Unsolved General and Desktop
21 Posts 4 Posters 3.4k Views 1 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.
  • ivanicyI ivanicy

    @artwaw I have a stack overflow error in this function:

    837ec2b1-0ce0-4b08-96a1-4e77c4fb6330-image.png

    Do you know what is happening here?

    Thank you very much!

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

    @ivanicy I would change your last line from
    MainWindow::changeEvent(...)
    to
    QMainWindow::changeEvent(...)

    therefore, making it nor a recursive function but rather a call to the base class.


    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.

    ivanicyI 1 Reply Last reply
    2
    • J.HilkJ J.Hilk

      @ivanicy I would change your last line from
      MainWindow::changeEvent(...)
      to
      QMainWindow::changeEvent(...)

      therefore, making it nor a recursive function but rather a call to the base class.

      ivanicyI Offline
      ivanicyI Offline
      ivanicy
      wrote on last edited by
      #13

      @J-Hilk I use this function in more windows. I have to use QMainWindow in this windows too?

      artwawA 1 Reply Last reply
      0
      • ivanicyI ivanicy

        @artwaw I have a stack overflow error in this function:

        837ec2b1-0ce0-4b08-96a1-4e77c4fb6330-image.png

        Do you know what is happening here?

        Thank you very much!

        artwawA Offline
        artwawA Offline
        artwaw
        wrote on last edited by
        #14

        @ivanicy Please look again at my example - let the QMainWindow try to handle the event first.
        In your code you call QMainWindow at the last line of the method.

        For more information please re-read.

        Kind Regards,
        Artur

        ivanicyI 1 Reply Last reply
        0
        • ivanicyI ivanicy

          @J-Hilk I use this function in more windows. I have to use QMainWindow in this windows too?

          artwawA Offline
          artwawA Offline
          artwaw
          wrote on last edited by artwaw
          #15

          @ivanicy said in Qt Linguist translation error:

          I use this function in more windows. I have to use QMainWindow in this windows too?

          First thing in the changeEvent is to call respective ancestor's changeEvent.

          EDIT: I use QMainWindow in the example since I stated that it is for QMainWindow descendant. If your window inherits from QDialog you should call QDialog, etc...

          For more information please re-read.

          Kind Regards,
          Artur

          ivanicyI 1 Reply Last reply
          1
          • artwawA artwaw

            @ivanicy Please look again at my example - let the QMainWindow try to handle the event first.
            In your code you call QMainWindow at the last line of the method.

            ivanicyI Offline
            ivanicyI Offline
            ivanicy
            wrote on last edited by
            #16
            This post is deleted!
            1 Reply Last reply
            0
            • artwawA artwaw

              @ivanicy said in Qt Linguist translation error:

              I use this function in more windows. I have to use QMainWindow in this windows too?

              First thing in the changeEvent is to call respective ancestor's changeEvent.

              EDIT: I use QMainWindow in the example since I stated that it is for QMainWindow descendant. If your window inherits from QDialog you should call QDialog, etc...

              ivanicyI Offline
              ivanicyI Offline
              ivanicy
              wrote on last edited by
              #17

              @artwaw Thank you very much!

              1 Reply Last reply
              0
              • ivanicyI Offline
                ivanicyI Offline
                ivanicy
                wrote on last edited by
                #18

                Sorry for bothering so much. I have detected that this method don't translate texts that I have put by coding, for example context menus or treeviews.

                I use

                ui->retranslateUi(this);
                

                Is there something missing to translate the code part as well?

                Thank you and sorry guys :(

                J.HilkJ artwawA 2 Replies Last reply
                0
                • Christian EhrlicherC Offline
                  Christian EhrlicherC Offline
                  Christian Ehrlicher
                  Lifetime Qt Champion
                  wrote on last edited by
                  #19

                  @ivanicy said in Qt Linguist translation error:

                  ui->retranslateUi(this);

                  As you can see, only the stuff in the ui struct can be translated with this call - how should this translate e.g. text from a model or somewhere else? The rest has to be done manually.

                  Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                  Visit the Qt Academy at https://academy.qt.io/catalog

                  1 Reply Last reply
                  0
                  • ivanicyI ivanicy

                    Sorry for bothering so much. I have detected that this method don't translate texts that I have put by coding, for example context menus or treeviews.

                    I use

                    ui->retranslateUi(this);
                    

                    Is there something missing to translate the code part as well?

                    Thank you and sorry guys :(

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

                    @ivanicy said in Qt Linguist translation error:

                    Sorry for bothering so much. I have detected that this method don't translate texts that I have put by coding, for example context menus or treeviews.

                    I use

                    ui->retranslateUi(this);
                    

                    Is there something missing to translate the code part as well?

                    Thank you and sorry guys :(

                    @J-Hilk said in Qt Linguist translation error:

                    However, if you yourself set a - for translation marked -string inside your application (tr("")), you will have to set that string again after the translator is loaded and installed


                    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.

                    1 Reply Last reply
                    1
                    • ivanicyI ivanicy

                      Sorry for bothering so much. I have detected that this method don't translate texts that I have put by coding, for example context menus or treeviews.

                      I use

                      ui->retranslateUi(this);
                      

                      Is there something missing to translate the code part as well?

                      Thank you and sorry guys :(

                      artwawA Offline
                      artwawA Offline
                      artwaw
                      wrote on last edited by
                      #21

                      @ivanicy A way to avoid this is to update menu strings each time the context menu is displayed (there is a handy signal to connect to - QMenu::aboutToShow() - this way you can use tr().
                      As for treeviews, it really depends on how you obtain the data, from and when. Headers, I believe (never tried) could be automated. As for other kind of data, it really depends but can be difficult.

                      For more information please re-read.

                      Kind Regards,
                      Artur

                      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 Extensions
                      • Unsolved