¿Puede alguien explicarme cómo hacer una ventana en qt de acuerdo con la forma de algún objeto en una imagen, por ejemplo, tengo una imagen de un árbol, usando eso necesito para crear una ventana en forma de árbol ...Crear una ventana en qt con forma de una imagen
Respuesta
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 es una receta para hacer un widget con un color de fondo semitransparente. Simplemente amplíe desde allí haciendo que el fondo sea completamente transparente, luego visualice la imagen del árbol encima de eso como una imagen de fondo. Tenga en cuenta que el widget seguirá comportándose como un widget rectangular en lo que respecta a la disposición de sus elementos secundarios, por lo que es probable que tenga que lidiar con esto usando un diseño personalizado dentro de la forma del árbol.
inicio de la documentación para QWidget::setMask
. Tiene una versión que toma un QBitmap y uno que toma una QRegion. Esta es la función fundamental para obtener un widget transparente. El kit de herramientas también incluye un ejemplo de reloj con la versión QRegion. Sin embargo, sospecho que un mapa de bits es igual de fácil.
- 1. Hacer una ventana sin bordes con Qt
- 2. Qt: Cómo crear una ventana de configuración como en GTK
- 3. Cómo dibujar una imagen en una ventana?
- 4. ¿Cuál es la forma más sencilla de crear una ventana con forma en wxPython?
- 5. ¿Cómo puedo recortar una imagen en Qt?
- 6. ¿Cómo creo una ventana en diferentes subprocesos de QT?
- 7. ¿Tiene Qt una forma de encontrar el cuadro delimitador de una imagen?
- 8. Ventana con textura de cacao en Qt
- 9. ¿Cómo hacer una ventana transparente con Qt Quick?
- 10. Crear diseño Qt con altura fija
- 11. Ventana emergente con imagen
- 12. Cómo crear una ventana en forma de elipse con VC++ usando win32 API
- 13. Cómo crear una imagen con fondo transparente
- 14. ¿Puedo duplicar una ventana XAML/WPF en una segunda ventana, como un televisor de imagen en imagen?
- 15. Abrir la imagen en una nueva ventana
- 16. Crear una aplicación de 64 bits con Qt
- 17. Crear una imagen PNG dinámica
- 18. Crear una aplicación sin una ventana
- 19. ¿Cómo usar una forma dibujable junto con una imagen?
- 20. ¿Cómo crear una ventana de Qt se comporta como un cuadro de mensaje?
- 21. Cómo crear una ventana oculta en C++
- 22. crear una imagen en escala de grises
- 23. ¿Cómo puedo crear una solicitud HTTP POST con Qt 4.6.1?
- 24. ¿Cómo crear una ventana emergente en android?
- 25. ¿Cómo se crea una ventana en Linux con C++?
- 26. Tomando captura de pantalla de una ventana específica - C++/Qt
- 27. cómo crear una ventana con dos botones que se abrirá una nueva ventana
- 28. Crear una ventana de HUD programáticamente
- 29. ¿La forma más eficiente de crear un CALayer con una imagen?
- 30. Cómo crear una imagen con esquinas redondeadas en C#?
¡Agradable! Para otras cosas similares: Vea el ejemplo del reloj: http://qt-project.org/doc/qt-4.8/widgets-shapedclock-shapedclock-cpp.html Para PySide está aquí: http://qt.gitorious.org /pyside/pyside-examples/blobs/ce9b2dfe456f38a166314dc2807a6b27cd944127/examples/widgets/shapedclock.py ejemplo simple para pantallas de inicio: 'self.img_Check = QPixmap ("recursos/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
¿No se filtra' QPixmap' en cada construcción? – Ruslan
@Ruslan, sí, pero mainwindow se crea solo una vez en la mayoría de las aplicaciones qt –