Относительный размер шрифта на QPushButton



  • Как сделать кнопку с такими свойствами:

    Полупрозрачная

    WordWrap

    Относительный размер шрифта. Шрифт масштабируемый при увеличении/уменьшение размеров окна.

    При нажатии на кнопку цвет текста и цвет фона кнопки меняется

    Мои наработки.
    1 и 4 пункт.
    Если имеем дело с QPushButton, то:
    @
    button->setFlat(true);
    button->setStyleSheet(
    "QPushButton {"
    "color: blue;"
    "background-color: rgba(255, 255, 255, 90)"
    "}"
    "QPushButton:pressed {"
    "color: lime;"
    "background-color: rgba(255, 255, 255, 50)"
    "}"
    "QPushButton:flat {"
    "border: none; "
    "}"
    );
    @

    2 пункт
    @
    QPushButton button;
    QHBoxLayout layout;
    button.setLayout(&layout);
    QLabel label("LOOOOOOOOOOOOOOOOOONGGGGGGGGGGG TEXXXXXXXXXT");
    label.setWordWrap(true);
    layout.addWidget(&label);
    button.show();
    @

    1. Переопределить resizeEvent. Реализация очень фиговая (*
      @
      void MyButton::resizeEvent(QResizeEvent *event)
      {
      int pixelsHeight = this->size().height()/2;
      if(pixelsHeight > 24) pixelsHeight = 24;
      if(pixelsHeight < 8) pixelsHeight = 8;

      m_font.setPixelSize(pixelsHeight);
      label->setFont(m_font);
      }
      @

    По отдельности все вроде как есть, но как сложить все это вместе?


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.