1、qt设计器插入的话,就利用QSS吧,这个是最快的方法,给你提供一个刚刚给你写的小程序吧,效果:
2、右键打开样式表编辑器,设置主窗口背景,是主窗口对象名
3设置按钮,pushButton是按钮对象名
其他的设置方法一样的。
qt每次重绘的时候,都要调用paintEvent(QPaintEvent event),而你增加了形参变量的paintEvent(QPaintEvent event,int x,int y)属于函数重载,qt当然不认了。
解决的办法就是你可以通过设置类成员变量x,y,和函数f(int x, int y)来修改x,y,这样你只需要将draw(x,y,width,height)放入paintEvent函数就可以了,如:
void f(int x,int y)
{
this->x=x;
this->y=y;
}
void MyGui::paintEvent(QPaintEvent event)
{
draw(this->x,this->y,width,height);
}
另外,关于event的,实际上一般情况下用不到,但是某些特殊情况下可以通过它来获取一些绘制的信息,如region()或者rect()等绘制区域的信息
qt绘很多多边行在内存中先画好这一次性贴图方法如下:
1、使用QPainter,QPainter能够在QWidget和其他的画图设备(paintdevice,当然QWidget也是一种paintdevice)进行绘制 *** 作。如果想要在内存中画图,那么就得创建一个内存画图设备,Qt中,QPixmap刚好满足这个要求;
2、#include#include#include#includeintmain(intargc,charargv[]){QApplicationa(argc,argv);//创建一个画图设备QPixmappixmap(100,100);QPainterpainter;painterbegin(&pixmap);painterdrawText(10,45,QString::fromLocal8Bit("IloveAmerican"));painterend();pixmapsave(QString::fromLocal8Bit("pixmappng"));returnaexec();}代码很简单,并且不需要创建一个QtGUI应用,而只需要创建一个Qt控制台应用即可,不过你得附加上QtGui库。
void drawTest(QWidget wgt){
QPainter painter(wgt);
painterfillRect(wgt->rect(),wgt->palette()color(QPalette::Window));
}
比如这样?
你是要怎么画图?导入,然后画在这个区域?
void MainWindow::paintEvent(QPaintEvent e){
QMainWindow::paintEvent(e);
QPainter painter(this);
if (m_pbgImage)
{
painterdrawPixmap(0, 0, this->width (), this->height (), m_pbgImage);
}
}
例如这样?
以上就是关于有人会qt做界面设计的很美观的么全部的内容,包括:有人会qt做界面设计的很美观的么、需要 Qt 画图函数、qt绘很多多边行如何在内存中先画好这一次性贴图等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)