Tôi không thể thay đổi màu của Qcheckbox
trong QT, ai đó có thể giúp tôi bằng mã để thay đổi màu của nhãn hộp văn bản hộp kiểm. Tôi đã thử Qpalette
.. Và im sử dụng QT4.7.4 phiên bản ..cách thay đổi màu nhãn văn bản QCheckBox trong Qt?
Trả lời
Bạn có thể sử dụng stylesheets:
checkBox->setStylesheet("QCheckBox { color: red }");
Để biết thêm chi tiết kiểm tra style sheets in Qt Reference và stylesheets documentation
này làm việc cho tôi:
QPalette p = myCheckBox->palette();
p.setColor(QPalette::Active, QPalette::WindowText, green);
myCheckBox->setPalette(p);
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.)
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)
tờ kiểu cũng không hoạt động ... Có phương pháp thay thế nào không? – sai
Bạn muốn nói 'setStyleSheet' (chữ S trên" Sheet ")? – Claudiu