首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

Qt pushbutton引用的一个有关问题

2012-09-23 
Qt pushbutton引用的一个问题成员函数:(一下函数体太多可以不用看,都是按钮的参数,做一个引用是因为这个函

Qt pushbutton引用的一个问题
成员函数: (一下函数体太多可以不用看,都是按钮的参数,做一个引用是因为这个函数有很多槽函数需要调用到,)
gee(QDialog &a,QDialog &b,QDialog &c,QDialog &d)
{
a.setMinimumSize(QSize(180, 50));
b.setMinimumSize(QSize(115,50));
c.setMinimumSize(QSize(115, 50));
d.setMinimumSize(QSize(115, 50));
a.setStyleSheet(QString::fromUtf8("\n"
"\n"
"QPushButton::!pressed{\n"
"border-image: url(:/\346\226\260\345\273\272\346\270\270\346\210\217/\345\205\254\345\205\261\347\273\204\344\273\266/nav_btn.png);\n"
"font: 12pt \"\345\256\213\344\275\223\" ;\n"
"color: rgb(255, 255, 255);\n"
"}\n"
"\n"
"}"));
b.setStyleSheet(QString::fromUtf8("\n"
"\n"
"QPushButton::!pressed{\n"
"background-color: rgb(21, 56, 77);\n"
"font: 12pt \"\345\256\213\344\275\223\" ;\n"
"color: rgb(255, 255, 255);\n"
"}\n"
"\n"
"QPushButton::hover{\n"
"border-image: url(:/\346\226\260\345\273\272\346\270\270\346\210\217/\345\205\254\345\205\261\347\273\204\344\273\266/nav_btn.png);\n"
" font: 12pt \"\345\256\213\344\275\223\" ;\n"
"\n"
"}"));
c.setStyleSheet(QString::fromUtf8("\n"
"QPushButton::!pressed{\n"
"background-color: rgb(21, 56, 77);\n"
"font: 12pt \"\345\256\213\344\275\223\" ;\n"
"color: rgb(255, 255, 255);\n"
"}\n"
"\n"
"QPushButton::hover{\n"
"border-image: url(:/\346\226\260\345\273\272\346\270\270\346\210\217/\345\205\254\345\205\261\347\273\204\344\273\266/nav_btn.png);\n"
" font: 12pt \"\345\256\213\344\275\223\" ;\n"
"\n"
"}"));
d.setStyleSheet(QString::fromUtf8("QPushButton::!pressed{\n"
"background-color: rgb(21, 56, 77);\n"
"font: 12pt \"\345\256\213\344\275\223\" ;\n"
"color: rgb(255, 255, 255);\n"
"}\n"
"\n"
"QPushButton::hover{\n"
"border-image: url(:/\346\226\260\345\273\272\346\270\270\346\210\217/\345\205\254\345\205\261\347\273\204\344\273\266/nav_btn.png);\n"
" font: 12pt \"\345\256\213\344\275\223\" ;\n"
"\n"
"}"));

};

槽函数:
void xu::td_slot()
{
ui.stackedWidget->setCurrentIndex(0);
gee(ui.td,ui.xj,ui.ls,ui.dy);
}
以上的目的是做一个互斥的4个按钮效果,点哪其中一个按钮 变色,其他按钮有变过色的就还原。
4个按钮是标签,每个标签对应有一个stackedWidget页签。

编译的时候出现错误:
 error C2664: 'xu::gee' : cannot convert parameter 1 from 'QPushButton *' to 'QDialog &'
QPushButton应该可以继承QDialog的啊,怎么还要转换。
这个东西怎么解决啊。

[解决办法]
一个是引用,一个是指针,这是两回事吧,另外,QPushButton好像也不是从QDialog继承,分别继承自:
QAbstractButton->QWidget->QObject and QPaintDevice

热点排行