C++ 如何用QT绘制平铺图像
我正在QtCreator的设计器中用C++/Qt编写接口。选择哪个元素作为带有背景图像的矩形 第二个问题:如何绘制平铺图像?我有一个大小为(1×50)的和图像,我想为父宽度渲染它。有什么想法吗C++ 如何用QT绘制平铺图像,c++,image,qt,C++,Image,Qt,我正在QtCreator的设计器中用C++/Qt编写接口。选择哪个元素作为带有背景图像的矩形 第二个问题:如何绘制平铺图像?我有一个大小为(1×50)的和图像,我想为父宽度渲染它。有什么想法吗 QBrush:不正确使用 纹理模式 如果你只是想展示一个你可以使用的图像。要使用平铺图像制作背景,请使用QImage构造一个。然后,如果您使用的是例如,您可以设置为背景画笔波什 下面是一个用平铺图像“document.png”填充整个主窗口的示例: intmain(intargc,char*argv[]
QBrush:不正确使用 纹理模式
如果你只是想展示一个你可以使用的图像。要使用平铺图像制作背景,请使用QImage构造一个。然后,如果您使用的是例如,您可以设置为背景画笔波什 下面是一个用平铺图像“document.png”填充整个主窗口的示例:
intmain(intargc,char*argv[]){
QApplication应用程序(argc、argv);
QMainWindow*mainWindow=新的QMainWindow();
Qgraphicscene*场景=新的Qgraphicscene(100100100100);
QGraphicsView*视图=新的QGraphicsView(场景);
主窗口->设置中心Widget(视图);
QImage*image=新的QImage(“document.png”);
如果(image->isNull()){
很抱歉,我不明白如何用画笔在我的窗口中填充正确的矩形。在哪里画画?在paintEvent
?你只想用平铺图像填充窗口吗?你有什么样的小部件想把图像放在上面?@dusty campbell是的,我只需要用平铺纹理填充我主窗口中的某个矩形。我所以,如果你创建一个QGraphicsView,然后用QImage将backgroundBrush设置为QBrush create,我想你会得到你想要的。
mTopMenuBg = QPixmap("images/top_menu_bg.png");
mTopMenuBrush = QBrush(mTopMenuBg);
mTopMenuBrush.setStyle(Qt::TexturePattern);
mTopMenuBrush.setTexture(mTopMenuBg);
ui->graphicsView->setBackgroundBrush(mTopMenuBrush);
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QMainWindow *mainWindow = new QMainWindow();
QGraphicsScene *scene = new QGraphicsScene(100, 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();
}