Có thể một số giải thích cho tôi cách tạo cửa sổ theo qt theo hình dạng của một số đối tượng trong một hình ảnh, ví dụ tôi có hình ảnh của cây, để tạo cửa sổ có hình dạng cây ..Tạo một cửa sổ theo hình qt từ một hình ảnh
Trả lời
After a long search , myself found a good solution , check out this ..
#include <QtGui>
class myMainWindow:public QMainWindow
{
public:
myMainWindow():QMainWindow()
{
setMask((new QPixmap("saturn.png"))->mask());
QPalette* palette = new QPalette();
palette->setBrush(QPalette::Background,QBrush(QPixmap("saturn.png")));
setPalette(*palette);
setWindowFlags(Qt::FramelessWindowHint);
QWidget *centralWidget = new QWidget(this);
QGridLayout *layout = new QGridLayout();
centralWidget->setLayout(layout);
QPushButton* button1 = new QPushButton("Button 1");
button1->setFixedSize(80,50);
layout->addWidget(button1,0,0);
setCentralWidget(centralWidget);
};
~myMainWindow(){};
};
int main(int argc, char **argv)
{
QApplication app(argc, argv);
myMainWindow *window = new myMainWindow();
window->resize(600, 316);
window->show();
return app.exec();
}
Here là công thức để tạo tiện ích con với màu nền bán trong suốt. Chỉ cần mở rộng từ đó bằng cách làm cho nền hoàn toàn trong suốt, sau đó hiển thị hình ảnh cây trên đầu trang đó làm hình nền. Lưu ý rằng widget sẽ vẫn hoạt động giống như một widget hình chữ nhật liên quan đến việc đặt ra các phần tử con của nó, vì vậy bạn có thể cần phải giải quyết điều này bằng cách sử dụng một số bố trí tùy chỉnh bên trong hình dạng cây.
Bắt đầu từ các tài liệu cho QWidget::setMask
. Nó có một phiên bản mà có một QBitmap và một trong đó có một QRegion. Đây là chức năng cơ bản để có được một widget trong suốt. Bộ công cụ này cũng bao gồm một ví dụ đồng hồ sử dụng phiên bản QRegion - tôi nghi ngờ một bitmap cũng dễ dàng như vậy.
- 1. QT Cửa sổ mờ và màn hình từ xa
- 2. Qt: tạo "nút hình ảnh svg"
- 3. Làm thế nào để đẩy một cửa sổ xem hình ảnh OpenCV vào một GUI QT với Visual studio?
- 4. Mở hình ảnh trong cửa sổ mới
- 5. Tạo một PDF từ nhiều hình ảnh
- 6. Cửa sổ Silverlight Phone 7: Tải hình ảnh từ URL
- 7. Đặt một cửa sổ trên màn hình
- 8. Nhận một hình ảnh được kéo từ trang Web đến cửa sổ WPF
- 9. Thiết lập một hình ảnh với một nhãn trong Qt
- 10. Hiển thị hình ảnh từ một loạt hình ảnh - Javascript
- 11. Làm cách nào để tạo một ứng dụng cửa sổ không có hình dạng hình vuông?
- 12. Ảnh chụp màn hình của Python 2+ (cửa sổ)
- 13. Làm cách nào để tạo một hình ảnh có thể vẽ từ nhiều hình ảnh?
- 14. Làm cách nào để vẽ hình ảnh trên cửa sổ?
- 15. OpenCV tiểu hình ảnh từ một hình ảnh Mat
- 16. Cắt một hình elip từ một hình ảnh
- 17. hình ảnh hiển thị khi di chuột qua cửa sổ?
- 18. Chụp màn hình bỏ qua một số cửa sổ
- 19. C++ - Cách chụp ảnh màn hình, ngoại trừ một số cửa sổ
- 20. OpenCV - đóng cửa sổ hiển thị hình ảnh
- 21. Có cách nào để tạo một hình ảnh Gif từ nhiều hình ảnh trong Java không?
- 22. ThreeJS: Tạo hình nền khớp chính xác với cửa sổ?
- 23. Chụp ảnh màn hình nội dung cửa sổ cuộn
- 24. JQzoom cửa sổ zoom bên dưới tới cột hình ảnh
- 25. Tạo Vector Từ Hình ảnh
- 26. Tạo hình ảnh từ DIV
- 27. Tạo video từ hình ảnh
- 28. Tìm cửa sổ trượt 3x3 trên hình ảnh
- 29. Tạo các lược đồ màu từ một hình ảnh
- 30. Cách tạo bóng dưới các từ trên một hình ảnh
Nice! Đối với những thứ tương tự khác: Xem ví dụ về đồng hồ: http://qt-project.org/doc/qt-4.8/widgets-shapedclock-shapedclock-cpp.html Đối với PySide, tại đây: http://qt.gitorious.org /pyside/pyside-examples/blobs/ce9b2dfe456f38a166314dc2807a6b27cd944127/examples/widgets/shapedclock.py ví dụ đơn giản cho màn hình splash: 'self.img_Check = QPixmap ("tài nguyên/some_transparent_image.png") \t \t \t \t self.lab = QSplashScreen (self.img_Check) \t \t self.lab.setWindowFlags (Qt.Tool | Qt.WindowStaysOnTopHint) \t \t self.lab.setMask (self.img_Check.mask()) \t \t self.lab.setPixmap (self.img_Check) \t \t self.lab.show() ' – SilentSteel
Không bị rò rỉ' QPixmap' trên mỗi công trình? – Ruslan
@Ruslan yeah, nhưng mainwindow chỉ được tạo một lần trong hầu hết các ứng dụng qt –