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. The manipulations needed to use for another platform
Forum Updated to NodeBB v4.3 + New Features

The manipulations needed to use for another platform

Scheduled Pinned Locked Moved Solved General and Desktop
25 Posts 4 Posters 6.0k Views 3 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.
  • tomyT tomy

    Hi all,

    I created a small app using qt-opensource-windows-x86-android-5.8.0 on Windows 7 x64 machine. Then used Qt Installer Framework for making it installable. It can be installed on Windows and works well as expected on it.

    Then used the ARM kit and ran it in Debug mode. There was an error with the AVD and I didn't see the result on the virtual Android device, but I could find the .apk file of the app in the build folder and copied it and sent to few of my friends who had a real Android mobile.

    They said, "The app works on their mobiles well". Vry very good news for me. :-)
    But there is some problem! :-(

    They say, the shape of the app is not fine, for example, the right part of the app is not shown on the screen and when they turn their mobiles the buttons of the app become very small making it hard to work with.

    When I saw some screenshots of the app on their devices sent by them, I saw that the arrangement of the buttons have been messy too.

    1- Shouldn't I convert the app to work on Android platform using that simple and easy way and is it the reason of these many inconsistencies?

    2- If yes, what is the right way of making such an app work on other platforms (say, Android)?

    3- I've also heard that using a language called QML we can make apps for iOS and Android platforms by Qt Creator IDE. If there is such a very simple way to convert apps to work on (say) Android using a kit by Qt Creator, is it worth learning QML still?

    jsulmJ Online
    jsulmJ Online
    jsulm
    Lifetime Qt Champion
    wrote on last edited by
    #3

    @tomy You should explain more: do you use layouts to lay out GUI elements in your app (as @J-Hilk asked)? Usually there is nothing special to do to provide your app for different platforms/systems.
    QML is nice for UI. But you can still create mobile apps with Widgets. QML is better if you want to create very customized and animated UI. But many things (like reading/writing files) cannot be done in QML. For that you need to write C++ and integrate it with QML.

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

    1 Reply Last reply
    1
    • tomyT Offline
      tomyT Offline
      tomy
      wrote on last edited by
      #4

      Thank you two very much.

      I'd used these in my code:

      setFixedHeight(sizeHint().height());
      setFixedWidth(sizeHint().width());
      

      I removed them. Do you think the problem is solved now?

      To summarize the last part:
      So we can write any excellent app (even for publishing in the competitive world market) using C++ on the Qt Creator IDE for all Windows, iOS and Android platforms, and writing the code is the only hard stage.
      After running the app successfully for Windows, we can switch kits for both other platforms and make files for iOS and Android devices just by running the app, the simplest stage. Am I correct?

      And one other question, when I made the installer for my app, there were .xml and .txt files and etc. When installing the app the user would be accustomed to the writer of the app and also would read other notes when installing the app.
      We don't have such stages on Android platform. That is, if the creator doesn't put any sign of themselves on the "window" of the final running app, the programmer will be unknown to the user and it's not impossible that someone else claims that the app is written by them!!! Not?

      J.HilkJ jsulmJ 2 Replies Last reply
      0
      • tomyT tomy

        Thank you two very much.

        I'd used these in my code:

        setFixedHeight(sizeHint().height());
        setFixedWidth(sizeHint().width());
        

        I removed them. Do you think the problem is solved now?

        To summarize the last part:
        So we can write any excellent app (even for publishing in the competitive world market) using C++ on the Qt Creator IDE for all Windows, iOS and Android platforms, and writing the code is the only hard stage.
        After running the app successfully for Windows, we can switch kits for both other platforms and make files for iOS and Android devices just by running the app, the simplest stage. Am I correct?

        And one other question, when I made the installer for my app, there were .xml and .txt files and etc. When installing the app the user would be accustomed to the writer of the app and also would read other notes when installing the app.
        We don't have such stages on Android platform. That is, if the creator doesn't put any sign of themselves on the "window" of the final running app, the programmer will be unknown to the user and it's not impossible that someone else claims that the app is written by them!!! Not?

        J.HilkJ Online
        J.HilkJ Online
        J.Hilk
        Moderators
        wrote on last edited by J.Hilk
        #5

        @tomy

        removeing the fixed size property should solve the issue with not all items beeing displayed. However buttons/icons/texts etc might still be to small to be used with your fingers on a 'small' touchscreen. You'll have to test that.

        So we can write any excellent app (even for publishing in the competitive world market) using C++ on the Qt Creator IDE for all Windows, iOS and Android platforms, and writing the code is the only hard stage.

        Well, simplified, yes.

        After running the app successfully for Windows, we can switch kits for both other platforms and make files for iOS and Android devices just by running the app, the simplest stage. Am I correct?

        Usually yes, some few classes however are not cross platform compatible. You'll have to be carefull with 3rd party libs also. To Make sure they support your target platforms and that you link correctly depending on OS etc.

        And one other question, when I made the installer for my app, there were .xml and .txt files and etc. When installing the app the user would be accustomed to the writer of the app and also would read other notes when installing the app.
        We don't have such stages on Android platform. That is, if the creator doesn't put any sign of themselves on the "window" of the final running app, the programmer will be unknown to the user and it's not impossible that someone else claims that the app is written by them!!! Not?

        Seems like you want a Splashscreen.
        You can combine it with a timer, to guarantee a certain displaytime, in case your App is super fast loaded.


        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
        • tomyT tomy

          Thank you two very much.

          I'd used these in my code:

          setFixedHeight(sizeHint().height());
          setFixedWidth(sizeHint().width());
          

          I removed them. Do you think the problem is solved now?

          To summarize the last part:
          So we can write any excellent app (even for publishing in the competitive world market) using C++ on the Qt Creator IDE for all Windows, iOS and Android platforms, and writing the code is the only hard stage.
          After running the app successfully for Windows, we can switch kits for both other platforms and make files for iOS and Android devices just by running the app, the simplest stage. Am I correct?

          And one other question, when I made the installer for my app, there were .xml and .txt files and etc. When installing the app the user would be accustomed to the writer of the app and also would read other notes when installing the app.
          We don't have such stages on Android platform. That is, if the creator doesn't put any sign of themselves on the "window" of the final running app, the programmer will be unknown to the user and it's not impossible that someone else claims that the app is written by them!!! Not?

          jsulmJ Online
          jsulmJ Online
          jsulm
          Lifetime Qt Champion
          wrote on last edited by
          #6

          @tomy You still didn't say whether you use layouts or not.
          "someone else claims that the app is written by them" - you have the source code, right? If it is closed source how can anybody else claim to be the owner? Or are you going to open source your app? But even in this case you're the first one releasing the code.
          So, is your app open source or not?
          You can add an "About MYAPP" menu entry which shows who is the owner of your app, version and what ever else you want to show.

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

          1 Reply Last reply
          1
          • tomyT Offline
            tomyT Offline
            tomy
            wrote on last edited by
            #7

            Thank you both very much.

            And sorry, I've used a few layouts:

            QHBoxLayout
            QVBoxLayout
            

            for my closed-code app.

            1 Reply Last reply
            0
            • tomyT Offline
              tomyT Offline
              tomy
              wrote on last edited by tomy
              #8

              And may I ask what process should I start for making the app work for iOS too?

              J.HilkJ 1 Reply Last reply
              0
              • tomyT tomy

                And may I ask what process should I start for making the app work for iOS too?

                J.HilkJ Online
                J.HilkJ Online
                J.Hilk
                Moderators
                wrote on last edited by
                #9

                @tomy said in The manipulations needed to use for another platform:

                And may I ask what process should I start for making the app work for iOS too?

                I'll quote apple here

                To develop with the iOS SDK and Xcode, you must have an Intel-based Mac running Mac OS X Snow Leopard or later and you must be registered as an Apple Developer.


                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.

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

                  @tomy said in The manipulations needed to use for another platform:

                  And may I ask what process should I start for making the app work for iOS too?

                  I'll quote apple here

                  To develop with the iOS SDK and Xcode, you must have an Intel-based Mac running Mac OS X Snow Leopard or later and you must be registered as an Apple Developer.

                  tomyT Offline
                  tomyT Offline
                  tomy
                  wrote on last edited by
                  #10

                  @J.Hilk

                  So I need two tools: iOS SDK and Xcode
                  and an OS: Mac OS X on a PC using an Intel CPU
                  and registering. (this one may not be easy because of the bans against us!)

                  jsulmJ 1 Reply Last reply
                  0
                  • tomyT tomy

                    @J.Hilk

                    So I need two tools: iOS SDK and Xcode
                    and an OS: Mac OS X on a PC using an Intel CPU
                    and registering. (this one may not be easy because of the bans against us!)

                    jsulmJ Online
                    jsulmJ Online
                    jsulm
                    Lifetime Qt Champion
                    wrote on last edited by
                    #11

                    @tomy You need a Mac, not a PC :-) MacOS is only running on MacBooks, MacMinis, iMacs and what else is produced by Apple. So, you will need to by new hardware.

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

                    1 Reply Last reply
                    1
                    • tomyT Offline
                      tomyT Offline
                      tomy
                      wrote on last edited by
                      #12

                      Ow my God, in this bad economic situation do I need to buy an Apple product!? (They are all expensive)

                      Does it mean all iOS developer have an apple product (say an Apple laptop)?

                      J.HilkJ VRoninV 2 Replies Last reply
                      0
                      • tomyT tomy

                        Ow my God, in this bad economic situation do I need to buy an Apple product!? (They are all expensive)

                        Does it mean all iOS developer have an apple product (say an Apple laptop)?

                        J.HilkJ Online
                        J.HilkJ Online
                        J.Hilk
                        Moderators
                        wrote on last edited by J.Hilk
                        #13

                        @tomy

                        I think they do,

                        I bought an iMac just to be able to code for my phone...

                        But you could potentially create your code/projet and send it to a company/friend to be compiled. I think there are some services for that.


                        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
                        • tomyT tomy

                          Ow my God, in this bad economic situation do I need to buy an Apple product!? (They are all expensive)

                          Does it mean all iOS developer have an apple product (say an Apple laptop)?

                          VRoninV Offline
                          VRoninV Offline
                          VRonin
                          wrote on last edited by
                          #14

                          @tomy There are services online that build and deploy for you, the most popular is probably travis CI

                          "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                          ~Napoleon Bonaparte

                          On a crusade to banish setIndexWidget() from the holy land of Qt

                          1 Reply Last reply
                          1
                          • tomyT Offline
                            tomyT Offline
                            tomy
                            wrote on last edited by tomy
                            #15

                            I have an iPhone, can't it be used for that? (I don't think so!)

                            And what should I send for a friend or a local or online service/company please? The source code!?

                            I don't like to create open source app for now (at least).

                            VRoninV 1 Reply Last reply
                            0
                            • tomyT tomy

                              I have an iPhone, can't it be used for that? (I don't think so!)

                              And what should I send for a friend or a local or online service/company please? The source code!?

                              I don't like to create open source app for now (at least).

                              VRoninV Offline
                              VRoninV Offline
                              VRonin
                              wrote on last edited by
                              #16

                              @tomy Yes, the only way to build is from source code. To keep it closed source travis CI has plans starting from 69$ per month (and I honestly don't see reasons to move to the more expensive plans).

                              "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                              ~Napoleon Bonaparte

                              On a crusade to banish setIndexWidget() from the holy land of Qt

                              tomyT 1 Reply Last reply
                              1
                              • VRoninV VRonin

                                @tomy Yes, the only way to build is from source code. To keep it closed source travis CI has plans starting from 69$ per month (and I honestly don't see reasons to move to the more expensive plans).

                                tomyT Offline
                                tomyT Offline
                                tomy
                                wrote on last edited by tomy
                                #17

                                @VRonin

                                Thank you.
                                Is the process on an Apple laptop running Mac OS X, the same as on Windows? That is, we install Qt Creator there, then set the tools (SDK and Xcode) there and copy the source code, then it creates an .ipa file to setup on an iDevice?

                                That is, we just supply the requirements and then run the code for making an app for Apple products, yeah?

                                1 Reply Last reply
                                0
                                • VRoninV Offline
                                  VRoninV Offline
                                  VRonin
                                  wrote on last edited by
                                  #18

                                  To deploy it to non-developer iOS devices you'll also need a developer license which is 100$ per year to Apple (yes, it's outrageous, I know)

                                  "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                                  ~Napoleon Bonaparte

                                  On a crusade to banish setIndexWidget() from the holy land of Qt

                                  tomyT 1 Reply Last reply
                                  1
                                  • VRoninV VRonin

                                    To deploy it to non-developer iOS devices you'll also need a developer license which is 100$ per year to Apple (yes, it's outrageous, I know)

                                    tomyT Offline
                                    tomyT Offline
                                    tomy
                                    wrote on last edited by tomy
                                    #19

                                    @VRonin
                                    Yeah, indeed. And that is why Apple Inc. is richer day by day.

                                    One question on the benefits the developer gains: Does publishing the apps only on App Store give the developers some financial benefits afterwards?

                                    1 Reply Last reply
                                    0
                                    • VRoninV Offline
                                      VRoninV Offline
                                      VRonin
                                      wrote on last edited by
                                      #20

                                      Not unless you include some income generating source in your app, an add banner or things like that

                                      "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                                      ~Napoleon Bonaparte

                                      On a crusade to banish setIndexWidget() from the holy land of Qt

                                      1 Reply Last reply
                                      1
                                      • tomyT Offline
                                        tomyT Offline
                                        tomy
                                        wrote on last edited by
                                        #21

                                        Does it mean if I some day, for example, create an iOS app that doesn't show any ads when working, the App Store may buy it from me?

                                        VRoninV 1 Reply Last reply
                                        0
                                        • tomyT tomy

                                          Does it mean if I some day, for example, create an iOS app that doesn't show any ads when working, the App Store may buy it from me?

                                          VRoninV Offline
                                          VRoninV Offline
                                          VRonin
                                          wrote on last edited by
                                          #22

                                          @tomy said in The manipulations needed to use for another platform:

                                          Does it mean if I some day, for example, create an iOS app that doesn't show any ads when working, the App Store may buy it from me?

                                          No, that won't be the case but basically if you only want to release free software with no ads on the App store you are going to be in the red for the 100$ developer fee per year

                                          "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                                          ~Napoleon Bonaparte

                                          On a crusade to banish setIndexWidget() from the holy land of Qt

                                          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