0.4.0 • Published 3 years ago

nodegui-stylesheet v0.4.0

Weekly downloads
1
License
MIT
Repository
github
Last release
3 years ago

nodegui-stylesheet

Codecov GitHub Workflow Status David npm bundle size

react-native inspired implementation of stylesheet, written in typescript

Compatible with plain nodegui and react-nodegui, both JS and TS.

Why

Despite web nature of css styling of Qt widgets, sometimes it can fall flat due to some strange inconsistencies and differences between Qt and web browser Here is a list of inconsistencies that gets handled: 1. font-size value requires unit and must be without quotes 2. some string keywords should not be wrapped in quotes 3. lineedit-password-character-prop can accept both unicode number and string (string will be converted to unicode number)

Example

1 Create a stylesheet

import { create } from 'nodegui-stylesheet';

const style = create({
  wrapper: {
    flex: 1
  },
  logo: {
    fontSize: 14
  }
});

2 Use stylesheet properties instead of long css strings

// with nogegui-react
<View style={style.wrapper}>
  <Text style={style.logo}>Hello</Text>
</Text>
// with plain nogegui
const label = new QLabel();
label.setText("Hello");
label.setInlineStyle(style.logo);

3 Use specific units if you need them, list of supported units from qt docs:

  • px: pixels
  • pt: the size of one point (i.e., 1/72 of an inch)
  • em: the em width of the font (i.e., the width of 'M')
  • ex: the ex width of the font (i.e., the height of 'x')
import { create, units } from 'nodegui-stylesheet';

const style = create({
  wrapper: {
    flex: 1
  },
  logo: {
    marginTop: units(1, 'ex')
  }
});
0.4.0

3 years ago

0.3.0

4 years ago

0.2.2

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago