1

ボタンに境界線がないようにスタイルを設定しようとしていますが、境界線がないとボタンをクリックできなくなります。境界線をなくすより良い方法はありますか?

button = QtGui.QPushButton(todo, self)
button.move(0, i * 32)
button.setFixedSize(200,32)
button.setCheckable(True)
button.setStyleSheet("QPushButton { background: rgb(75, 75, 75); color: rgb(255, 255, 255); text-align: left; font-size: 12pt; border: none;}")
4

1 に答える 1

1

編集: おっと、これは Qt/Python (Qt/C++ ではなく) に関する質問であることに気付きました。とにかく私の答えが役立つかもしれません..

試してみたところ、うまくいきました...使用したコードは次のとおりです。

#include <QtGui/QApplication>
#include <QtGui/QPushButton>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget w;
    QPushButton* button = new QPushButton("i am toggleable", &w);
    button->setFixedSize(200,32);
    button->setCheckable(true);
    button->setStyleSheet(
    "QPushButton { \
        background: rgb(75, 75, 75);\
        color: rgb(255, 255, 255);\
        text-align: left;\
        font-size: 12pt;\
        border: none;\
    }\
        QPushButton:checked {\
        background: rgb(105, 105, 105);\
    }\
    ");
    w.show();
    return a.exec();
}

チェックされたボタンに追加の CSS ルールを追加したことに注意してください。これにより、ボタンがチェックされているかどうかに関係なく表示されます。ボタンが機能しない、またはボタンが機能していることがわからないだけですか?

EDIT2:うまくいかない場合はsetFlat(True)、 を使用し、追加の CSS ルールを使用して色を修正できます (私の例のように)。

于 2010-09-27T10:28:39.630 に答える