Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Относительный размер шрифта на 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