Tôi đang sử dụng Qt 5.3.0. Khi tôi áp dụng một số màu nền trên trạng thái kiểm tra của QPushButton, nút sẽ được lấp đầy với các chấm màu xám (trên nền màu tôi muốn) khi nó được chọn.Làm cách nào để kiểm tra trạng thái đã kiểm tra của QPushButton để xóa các chấm màu xám?
Đây là một chương trình thử nghiệm nhỏ (với QtCreator nhưng nó cũng có thể được thực hiện với mã hóa): 1, tạo ra một ứng dụng qt 2, kéo theo một QPushButton, đặt nó bằng phẳng và checkable 3, thêm những dòng này trước w.show()
w.setStyleSheet("\
QPushButton { \
color:white; \
} \
QPushButton:checked{\
background-color: rgb(80, 80, 80);\
}\
QPushButton:hover{ \
background-color: grey; \
border-style: outset; \
} \
");
4, chạy ứng dụng và kiểm tra các nút
Bạn sẽ thấy nút quay sang chấm nhưng tôi cần vào nút kiểm tra để được trong màu rắn như rgb (80 , 80, 80). Tôi đã bỏ lỡ điều gì đó?
lớn cảm ơn! làm sao bạn nảy ra ý tưởng tắt biên giới? – h5nc
Trên trang đó: http://qt-project.org/doc/qt-4.8/stylesheet-reference.html có Cảnh báo: "Nếu bạn chỉ đặt màu nền trên QPushButton, nền có thể không xuất hiện trừ khi bạn đặt thuộc tính đường viền thành một số giá trị. Điều này là do, theo mặc định, QPushButton vẽ một đường viền gốc hoàn toàn trùng lặp màu nền. " và tôi nhớ rằng trong một số trường hợp, loại bỏ biên giới giải quyết được vấn đề của tôi. Tôi không thể nói cho bạn biết chính xác tại sao, nhưng nó hoạt động. –
Cảm ơn bạn đã trả lời và liên kết đến tham chiếu. Thực sự đã cứu tôi hôm nay! – satishgoda