Git Product home page Git Product logo

qssstylesheeteditor's Introduction

English | 简体中文

QssStylesheetEditor

Build Status Codacy Badge Coverage Status Platform:win|osx|linux


QssStylesheetEditor is a powerful qt stylesheet(QSS) editor. Real-time preview, automatically completion, and user can define custom variables, preview custom ui code, using QPalette etc.

screenshot

GUI(v1.7) screeshot

Features

  • Qss code highlight and code folding
  • Automatic completion
  • In-time preview, Almost all of the qtwidgets can be previewed
  • Custom ui code preview
  • Customize variables and reference in Qss
  • Change variable color through color dialog box
  • Reference image by relative path or in resource files
  • Reference QPalette, and change QPalette via color dialog box
  • Switch different system themes (xp, vista etc.)
  • Internationalization
    • Now English Chainese and Russian translations are available

Platform

  • Windows (maybe won't run on xp)
  • macOS
  • Linux
  • UNIX

Usage

Follow the steps as below, or install the binary installation package:

  1. download QssStylesheetEditor-1.7-py3-none-any.whl
  2. run pip install QssStylesheetEditor-1.7-py3-none-any.whl install QssStylesheetEditor
  3. run qsseditor or QssStylesheetEditor the app will start

If you are windows 64bit user, binary package and installer is available now.

Alternatively, manually install the package is ok too

  1. install python3: following http://python.org/
  2. install dependencies:
    • preimport: pip install preimport
    • tomlconfig: pip install tomlconfig
    • CodeEditor: pip install CodeEditor
    • requests: pip install requests
  3. download and unzip package:
  4. Run QssStylesheetEditor:
    • double click qsseditor.pyw
    • or run python qsseditor.pyw

Using custom variable

In QssStylesheetEditor, users can define and use custom variables in QSS.

Using following statement to define new variable:

/*example of custom variable definition*/
$background = #fff;  /* define var with name "background" */
$border = red; /* define var with name "border" */
$text     = rgb(10,10,10);

A variable definition end with a ";".

Reference defined variable as following:

/* example of custom variable reference */
QWidget
{
    color: $text; /* reference variable text*/
    background-color: $background; /* reference variable background*/
}

Users can export the code to qss file without vars by the "File>Export" menu.

Variable Color pick dialog

When a variable is defined in QssStylesheetEditor, the variable will be automatically displayed in the color pannel. You can click the color button to select the variable color through the color pick-up box.

If an undefined variable is referenced, it will be automatically recognized and displayed in the color panel too.

Image reference path

When images are use in the qss code, if the url is relative, QssStylesheetEditor will find the image file in the folder where the qss code file is.

background-image: url("img/close.png");
/* the img folder must be in the same directory of the qss code file*/

image in resource file

If your image files is converted to resource file by pyrcc5(pyrcc5 xxx.qrc -o xxxresource.py).

You can reference images in the resource file as following:

background-image: url(":/img/close.png");

QssStylesheetEditor will search the resource file filename.py(filename must be same of qss file) in the directory of the currently opened qss stylesheet code file and loads it automatically.

QPalette reference

In QssStylesheetEditor, users can use QPalette as follow:

color: palette(Text);
background-color: palette(Window);

Changing color of QPalette is supported via pick-up color in palettdialog. And the new QPalette code can be viewed via click the "ViewPaletteCode" button.

The reset button in PaletteDialogreset could cancel QPalette modification.

custom ui code preview

In the editor of 'Custom' tab of preview widget, user can input custom ui code, like follow:

class MainWindow(QWidget):
    def __init__(self):
        super().__init__()

and then press 'Preview' button to preview the qss.

'MainWindow' must be defined in the custom code.

screenshot

AutoComplete

AutoComplete

QssStylesheetEditor on macOS

Gui on macOS

QssStylesheetEditor GUI V1.2

v1.2

QssStylesheetEditor GUI V1.0

v1.0

License

You can use this software for free in open source projects that are licensed under the GPL. but there is an exception: if you only use it to generate qss file for commercial product, the product's source code can be shipped with whatever license you want.

If you don't want to open your code up to the public, you can purchase a commercial license for USD 100 per developer, and also should purchase a commercial license for PyQt5.

qssstylesheeteditor's People

Contributors

hustlei avatar nurul-gc avatar adem4ik avatar adhtri001 avatar imgbotapp avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.