Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QML and Qt Quick
  4. globally defining colors
Forum Updated to NodeBB v4.3 + New Features

globally defining colors

Scheduled Pinned Locked Moved Solved QML and Qt Quick
12 Posts 3 Posters 828 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.
  • JoeCFDJ Offline
    JoeCFDJ Offline
    JoeCFD
    wrote on last edited by JoeCFD
    #3

    I use it for global settings as well. In your qml files, you sometimes hardcode things like height or width of certain items. Your code is cross platforms, but not screens. Better to scale them according to screen sizes and these scaling factors can stored in a similar way.

    1 Reply Last reply
    1
    • mzimmersM Offline
      mzimmersM Offline
      mzimmers
      wrote on last edited by
      #4

      I currently have two .qrc files, one for my fonts and one for my icons. Might it be preferable to have a "master" .qrc file, taking the place of these, and allowing me to declare my colors?

      I've never really understood prefixes in the .qrc file. I always thought of it as sort of the QML analog to C++ namespaces. Is this accurate, and would I use prefixes to keep things organized in the file?

      Thanks...

      1 Reply Last reply
      0
      • JoeCFDJ Offline
        JoeCFDJ Offline
        JoeCFD
        wrote on last edited by JoeCFD
        #5

        I have two qrc files: one for images and another for qml files. Image and qml files are grouped in different subdirs. Alias is applied to define short names(no more dir names) for all files and convenient use.

        1 Reply Last reply
        0
        • mzimmersM Offline
          mzimmersM Offline
          mzimmers
          wrote on last edited by mzimmers
          #6

          Trying to follow the approach here, but getting an "undefined" error when I try to use one of the colors in main.qml.

          Colors.qml:

          pragma Singleton
          
          import QtQuick 2.0
          import QtQml
          
          Item { // the example calls for QtObject here, but Creator says "unknown component."
              property color accent: "#4147f0"
          ...
          

          qml.qrc:

          <RCC>
              <qresource prefix="/">
                  <file>Colors.qml</file>
                  <file>main.qml</file>
                  <file>qmldir</file>
              </qresource>
          </RCC>
          

          qmldir:

          singleton Colors Colors.qml
          

          All my files are in the same directory. What am I doing wrong?

          EDIT:

          It might have something to do with my inability to use QtObject. It's not clear to me whether I need something that I didn't select in my installation. Where does this component "live?"

          Thanks...

          1 Reply Last reply
          0
          • JoeCFDJ Offline
            JoeCFDJ Offline
            JoeCFD
            wrote on last edited by JoeCFD
            #7

            change item back to QtObject and do not worry about creator says
            register the type in your main.cpp
            qmlRegisterSingletonType( QUrl( "qrc:/Colors.qml" ), "zimmers.stylesheet", 1, 0, "Colors" );
            import zimmers.stylesheet in any qml and
            you can use it Colors.accent

            mzimmersM 1 Reply Last reply
            2
            • JoeCFDJ JoeCFD

              change item back to QtObject and do not worry about creator says
              register the type in your main.cpp
              qmlRegisterSingletonType( QUrl( "qrc:/Colors.qml" ), "zimmers.stylesheet", 1, 0, "Colors" );
              import zimmers.stylesheet in any qml and
              you can use it Colors.accent

              mzimmersM Offline
              mzimmersM Offline
              mzimmers
              wrote on last edited by
              #8

              @JoeCFD thanks...that got rid of the warning, but my color isn't taking effect. Do I need to actually create a file zimmers.stylesheet, and if so, what should its contents be?

              JoeCFDJ 1 Reply Last reply
              0
              • mzimmersM mzimmers

                @JoeCFD thanks...that got rid of the warning, but my color isn't taking effect. Do I need to actually create a file zimmers.stylesheet, and if so, what should its contents be?

                JoeCFDJ Offline
                JoeCFDJ Offline
                JoeCFD
                wrote on last edited by
                #9

                @mzimmers zimmers.stylesheet is only package name and can be anything, totally up to you.
                add console.log in qml file to print its value

                mzimmersM 1 Reply Last reply
                1
                • JoeCFDJ JoeCFD

                  @mzimmers zimmers.stylesheet is only package name and can be anything, totally up to you.
                  add console.log in qml file to print its value

                  mzimmersM Offline
                  mzimmersM Offline
                  mzimmers
                  wrote on last edited by
                  #10

                  @JoeCFD what do you want the console.log() to report on?

                  JoeCFDJ 1 Reply Last reply
                  0
                  • mzimmersM mzimmers

                    @JoeCFD what do you want the console.log() to report on?

                    JoeCFDJ Offline
                    JoeCFDJ Offline
                    JoeCFD
                    wrote on last edited by
                    #11

                    @mzimmers Colors.accent

                    1 Reply Last reply
                    1
                    • mzimmersM Offline
                      mzimmersM Offline
                      mzimmers
                      wrote on last edited by
                      #12

                      Actually, it does seem to be working OK. Something in my StackLayout was screwing it up, so I disabled it, and am now seeing the expected color. Thanks!

                      1 Reply Last reply
                      1

                      • Login

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