我想用一些图片制作窗框。窗口不应该有边框,标题栏等。它也应该从活动窗口列表中隐藏(在任务栏中)。
我做过的第二部分问题:
this->setAttribute(Qt::WA_NoSystemBackground);
this->setAttribute(Qt::WA_QuitOnClose);
this->setAutoFillBackground(true);
this->setWindowFlags(Qt::FramelessWindowHint | Qt::Tool);
用于继承QMainWindow
的新类。例如,它隐藏在gnome任务栏中,但是在Awn(awant windows navigator)中,我将它放在活动窗口列表中:(。
第一部分怎么样?前段时间我使用QRegion, QPixmap
并在重载paintEvent
中使用了掩码。我丢失了代码。你能帮我解决这个问题吗?
答案 0 :(得分:0)
关于问题的第一部分,你可能正在寻找像这样的人:
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));
希望这有帮助,尊重