Как я могу закруглить углы QWidgets? - PullRequest
4 голосов
/ 21 февраля 2012

Я пытаюсь закруглить углы текущего виджета, но он не работает, почему?


PopupWindow::PopupWindow() : QWidget(0) {
    setWindowFlags(
        Qt::Tool |
        Qt::FramelessWindowHint |
        Qt::WindowSystemMenuHint |
        Qt::WindowStaysOnTopHint
    );
    this->resize(300, 100);
    setStyleSheet(".PopupWindow {border-style: outset;border-width: 10px;border-radius:10px;}");

    QPushButton *hello = new QPushButton("Hello world!");
    hello->setFont(QFont("Times", 18, QFont::Bold));
    hello->setGeometry(10, 40, 180, 40);
    hello->setStyleSheet("");


    QVBoxLayout *layout = new QVBoxLayout;
    layout->addWidget(hello);
    setLayout(layout);
}

Ответы [ 2 ]

3 голосов
/ 21 февраля 2012

border-radius не поддерживается QWidget (border-style и border-width). Ознакомьтесь с документацией . Различные виджеты поддерживают разные подмножества свойств CSS.

1 голос
/ 22 августа 2014

border-radius поддерживается QFrame, вы также можете установить цвет фона среди других свойств, настраиваемых таблицей стилей.

Так что я думаю, что часть дизайна, которая требует радиуса в границе, могла бы быть QFrame вместо QWidget.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...