• 5244阅读
  • 5回复

自定义QT按钮 创建不成功 [复制链接]

上一主题 下一主题
离线yfskys
 

只看楼主 倒序阅读 楼主  发表于: 2011-07-31
QPushButton *custButton(QString str,QString str1)

{

    QPushButton *pushButton= new QPushButton;



    pushButton->setGeometry(10,10,200,200); //按钮的位置及大小

    pushButton->clearMask();

    pushButton->setBackgroundRole( QPalette::Base);



    QPixmap mypixmap;   mypixmap.load(str);



    pushButton->setFixedSize( mypixmap.width(), mypixmap.height() );

    pushButton->setMask(mypixmap.createHeuristicMask());

    pushButton->setIcon(mypixmap);

    pushButton->setIconSize(QSize(mypixmap.width(),mypixmap.height()));

    pushButton->setToolTip(str1);

    return pushButton;

}

调用代码:
QPushButton *btn=custButton("../login.png", "LOGIN");  

为什么这个每次都创建不成功

离线wxj120bw

只看该作者 1楼 发表于: 2011-07-31
回 楼主(yfskys) 的帖子
贴下出错的提示
离线jdwx

只看该作者 2楼 发表于: 2011-08-01
*pushButton是局部变量
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线wxj120bw

只看该作者 3楼 发表于: 2011-08-01
回 2楼(jdwx) 的帖子
pushButton虽为局部变量,但是分配在堆上,是程序员来维护的。不会随函数返回而释放的
离线abcdlcq

只看该作者 4楼 发表于: 2011-08-01
pushButton->setGeometry(10,10,200,200); //按钮的位置及大小
parent 是0吧
离线tangxunmin

只看该作者 5楼 发表于: 2011-08-03
2楼说的是对的
*pushButton是局部变量
虽然是在堆上的,但他还是个局部指针
换成全局的指针 应该就没问题了
快速回复
限100 字节
 
上一个 下一个