lsyer 发表于 2008-3-8 13:30:45

QT应用程序加图标和QWidget的样式表应用

QT是跨平台的程序设计库,在windows下的程序往往想要有一个好看的图标,方法如下:
1.准备个ICO图标。例如:myappico.ico
2.用写字版新建个文件,里面就写一行:
IDI_ICON1         ICON   DISCARDABLE   "myappico.ico"
3.保存改名为myapp.rc并将它和图标myappico.ico一起复制到QT工程项目的目录。
4.用写字版打开你的QT工程文件(如 "myapp.pro" ),在里面最后新添一行
RC_FILE = myapp.rc
5.保存,编译工程.

QWidget支持background-image这个样式表属性,但若是由它派生的新类(自己构造的子类)却需要一点设置才可以正常使用这个属性,那就是重载新类的paintEvent函数,如下:
void ChildWidget::paintEvent(QPaintEvent *)
{
    QStyleOption opt;
    opt.init(this);
    QPainter p(this);
    style()->drawPrimitive(QStyle:: PE_Widget, &opt, &p, this); //没空格,但为了给discuz代码分开,加了个空格
}
页: [1]
查看完整版本: QT应用程序加图标和QWidget的样式表应用