c – 如何使用QT绘制平铺图像
发布时间:2020-12-16 09:34:17 所属栏目:百科 来源:网络整理
导读:我正在QtCreator的设计师中编写C / Qt界面.用一些背景图像选择制作哪个元素作为矩形? 第二个问题:如何绘制平铺图像?我有和大小(1×50)的图像,我想渲染它的父宽度.有任何想法吗? mTopMenuBg = QPixmap("images/top_menu_bg.png");mTopMenuBrush = QBrush(
我正在QtCreator的设计师中编写C / Qt界面.用一些背景图像选择制作哪个元素作为矩形?
第二个问题:如何绘制平铺图像?我有和大小(1×50)的图像,我想渲染它的父宽度.有任何想法吗? mTopMenuBg = QPixmap("images/top_menu_bg.png"); mTopMenuBrush = QBrush(mTopMenuBg); mTopMenuBrush.setStyle(Qt::TexturePattern); mTopMenuBrush.setTexture(mTopMenuBg); ui->graphicsView->setBackgroundBrush(mTopMenuBrush);
解决方法
如果您只想显示图像,可以使用
QImage.要使用图像平铺背景,请使用QImage构建
QBrush.然后,如果您使用的是
QGraphicsScene,则可以将bursh设置为背景画笔.
这是一个用平铺图像“document.png”填充整个主窗口的示例: int main(int argc,char *argv[]) { QApplication app(argc,argv); QMainWindow *mainWindow = new QMainWindow(); QGraphicsScene *scene = new QGraphicsScene(100,100,100); QGraphicsView *view = new QGraphicsView(scene); mainWindow->setCentralWidget(view); QImage *image = new QImage("document.png"); if(image->isNull()) { std::cout << "Failed to load the image." <<std::endl; } else { QBrush *brush = new QBrush(*image); view->setBackgroundBrush(*brush); } mainWindow->show(); return app.exec(); } 结果应用: 或者,似乎您可以将style sheets与任何窗口小部件一起使用,并更改窗口小部件上的background-image属性.这与QtDesigner有更多的集成,因为您可以在QtDesigner中设置样式表和图像. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |