Skip to content

Editor for qt stylesheet (qss). Real-time preview, and user can define varibles in qss.

License

Notifications You must be signed in to change notification settings

johncc2019/QssStylesheetEditor

 
 

Repository files navigation

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.

Now I want to change a new name for QssStylesheetEditor, welcom everyone to vote: hustlei#4

screenshot

GUI(v1.5) screeshot

Features

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

Platform

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

Usage

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

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

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 dependecies:
    • preimport: pip instll preimport
    • tomlconfig: pip insatll tomlconfig
    • CodeEditor: pip instll CodeEditor
  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 custome variables in QSS.

Using following statement to define new variable:

/*example of custom variable definition*/
$background = #fff;  /* define var with name "background" */
$text = red; /* define var with name "text" */

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.

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 10 per developer, and also shold purchase a commercial license for PyQt5.

About

Editor for qt stylesheet (qss). Real-time preview, and user can define varibles in qss.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 92.5%
  • NSIS 7.5%