Nếu tôi gọi QCheckBox::setChecked(x)
tín hiệu toggled
chỉ phát ra nếu x
không giống với trạng thái hộp kiểm hiện tại. Tôi hiểu logic đằng sau điều này, để tránh báo hiệu nếu không có gì thay đổi. Tuy nhiên, trong một số tình huống mà tôi có một thiết lập widget phức tạp hơn, tôi cần tín hiệu luôn được phát ra. Điều này đảm bảo bất kỳ ai đã kết nối với hộp kiểm sẽ nhận được trạng thái đầu tiên.Qt buộc QCheckBox phát ra tín hiệu trên setChecked
Có cách nào để có QCheckBox::setChecked(bool)
phát ra tín hiệu bất kể trạng thái đã thay đổi không?
workaround đơn giản của tôi bây giờ là chỉ cần buộc các hộp kiểm thành nhiều tiểu bang bằng cách làm setChecked(!x)
và setChecked(x)
. Tôi đã hy vọng một cách chính xác hơn để làm điều này.
'setChecked' không phải là ảo trong 'QAbstractButton' (theo tài liệu).Thêm vào đó tôi muốn cơ chế là chung chung, cho bất kỳ cách nào mà trạng thái được thiết lập. Tôi cũng phải lặp lại các mô hình cho một số lớp khác (QCheckBox chỉ là ví dụ của tôi ở đây). –