2012-06-22 43 views

Trả lời

2

này làm việc cho tôi:

QPalette p = myCheckBox->palette(); 
p.setColor(QPalette::Active, QPalette::WindowText, green); 
myCheckBox->setPalette(p); 
0

Tôi đã chạy int o vấn đề này bằng cách sử dụng các phiên bản Qt5 khác nhau (5.2, 5.4). Để làm điều đó với style sheets tôi đã phải sử dụng các thuộc tính Pseudo-Hoa: http://doc.qt.io/qt-4.8/stylesheet-reference.html#list-of-pseudo-states

Ví dụ:

myCheckbox->setStyleSheet("QCheckBox:unchecked{ color: red; }QCheckBox:checked{ color: red; }"); 

Thiết cả hai trạng thái thay đổi màu sắc cho tôi. Dường như có một số điều kỳ quặc như thế này trong bảng định kiểu và bảng màu, do đó hãy chú ý đến chúng và thử một vài thứ khác nhau (ví dụ như bộ chọn, trạng thái giả, v.v.)

1

Dường như đối với một số tiện ích bạn phải buộc sử dụng "công cụ phụ tùng" không thuộc hệ thống. Đối với hộp kiểm, nó có thể được thực hiện bằng cách thiết lập biên giới không. Vì vậy, kiểu dáng của hộp kiểm trông giống như:

QCheckBox { 
    border: none; 
    color: white; 
} 

Hành vi tương tự là bắt buộc bởi các tiện ích khác. Một số thuộc tính kiểu không tắt giao diện gốc. Ví dụ: QPushButton (http://doc.qt.io/qt-4.8/stylesheet-reference.html)

Các vấn đề liên quan