gpt4 book ai didi

c++ - QT:图片作为窗口

转载 作者:太空狗 更新时间:2023-10-29 23:19:58 24 4
gpt4 key购买 nike

我想用一些图片制作窗框。窗口不应该有边框、标题栏等。它也应该从事件窗口列表(在任务栏中)中隐藏。

我做的问题的第二部分:

this->setAttribute(Qt::WA_NoSystemBackground);
this->setAttribute(Qt::WA_QuitOnClose);

this->setAutoFillBackground(true);

this->setWindowFlags(Qt::FramelessWindowHint | Qt::Tool);

对于继承QMainWindow 的新类。例如,它隐藏在 gnome 任务栏中,但在 Awn(awant windows 导航器)中,我将其播种在事件窗口列表中:(。

第一部分呢?前段时间,我在重载的 paintEvent 中使用 QRegion、QPixmap 和掩码进行了此操作。我把代码弄丢了。你能帮我解决这个问题吗?

最佳答案

关于问题的第一部分,您可能正在寻找这样的东西:

void MainWindow::paintEvent(QPaintEvent * event)
{
QPainter painter(this);

QPixmap pixmap = QPixmap();
pixmap.load("/home/my_image.jpg");

painter.drawPixmap(event->rect(), pixmap);
}

作为替代方案,您可以创建一个 label并将其显示在您的主窗口中,如下所示:

QLabel* label = new QLabel(this); // where 'this' is your window 
label->setGeometry(this->geometry());

QPixmap pixmap = QPixmap();
pixmap.load("/home/my_image.jpg");

label->setPixmap(pixmap.scaled(label->size(), Qt::KeepAspectRatio));

希望这对你有帮助,问候

关于c++ - QT:图片作为窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5525683/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com