2009-08-13 35 views
5

Tôi muốn thay đổi Nền QFrame khi chạy, nhưng, tôi sẽ tải nền từ đĩa (hình ảnh). Đặt biểu định kiểu tại QFrame không hoạt động vì hình ảnh không có trong tài nguyên.Đặt hình nền được tải từ đĩa

Một cách được thiết lập một biểu tượng QPushButton, ví dụ:

QPixmap img("/images/01.png"); 
ui.pushButton->setIcon(QIcon(img)); 

Nhưng, một QPushButton là không hữu ích đối với tôi. Tôi cần phải đặt những thứ khác bên trong QFrame.

Trả lời

5

Từ những gì tôi hiểu trong câu hỏi của bạn, bạn không muốn sử dụng Tài nguyên? Nếu đó là trường hợp, bạn có thể làm một cái gì đó như:

ui->frame->setFrameStyle(QFrame::StyledPanel); 
ui->frame->setStyleSheet("background-image: url(C:/test.jpg)"); 
+0

Perfect, đây là những gì tôi đang tìm kiếm. Tôi không biết rằng hình nền có thể được áp dụng theo cách này. Tkanks! –

4

Bạn cũng có thể thử một cái gì đó như thế này:

QPalette pal; 
pal.setBrush(ui.frame->backgroundRole(), QBrush(QImage("/images/01.png"))); 
ui.frame->setPalette(pal); 
+0

Điều này làm việc ngay cả đối với QWidget. –

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