标题:【提问】程序编译,运行可以,但是没有显示出来!
作者:gongyh
日期:2005-09-01 16:04
内容:
(我的代码是qt以前版本的,不能编译,经过我的修改,现在能编译,能运行,就是没有显示出来。不知道什么原因)
代码如下:
////////////////////////////////////////////////////////////////////////
/* fivebyfive.h */
#ifndef FIVEBYFIVE_H
#define FIVEBYFIVE_H
#include
#include
class FiveByFive: public QWidget
{
public:
FiveByFive(QWidget *parent=0,const char *name=0);
~FiveByFive();
private:
QPushButton *b11;
QPushButton *b31;
QPushButton *b13;
QPushButton *b33;
};
#endif
//////////////////////////////////////////////////////////////////
/* fivebyfive.cpp */
#include
#include
#include "fivebyfive.h"
FiveByFive::FiveByFive(QWidget *parent,const char *name)
: QWidget(parent)
{
QGridLayout *layout = new QGridLayout(this);
layout->addLayout(layout,5,5);
b11 = new QPushButton("(1,1)",this);
b11->setMaximumSize(100,100);
layout->addWidget(b11,1,1);
b13 = new QPushButton("(1,3)",this);
b13->setMaximumSize(100,100);
layout->addWidget(b13,1,3);
b31 = new QPushButton("(3,1)",this);
b31->setMaximumSize(100,100);
layout->addWidget(b31,3,1);
b33 = new QPushButton("(3,3)",this);
b33->setMaximumSize(100,100);
layout->addWidget(b33,3,3);
// for(int i=0; icellRect(10,10);
//layout->addColSpacing(i,60);
//}
resize(10,10);
layout->activate();
}
FiveByFive::~FiveByFive() { }
///////////////////////////////////////////////////////////////////
/* main.cpp */
#include
#include "fivebyfive.h"
int main(int argc,char **argv)
{
QApplication app(argc,argv);
FiveByFive *fivebyfive = new FiveByFive();
&nbs ..
#1 [XChinux 09-01 20:18]
关键在于下面的函数中:
FiveByFive::FiveByFive(QWidget *parent,const char *name)
: QWidget(parent)
{
QGridLayout *layout = new QGridLayout(this);
//layout->addLayout(layout,5,5);// 这句决定了是否显示
b11 = new QPushButton("(1,1)",this);
b11->setMaximumSize(100,100);
layout->addWidget(b11,1,1);
b13 = new QPushButton("(1,3)",this);
b13->setMaximumSize(100,100);
layout->addWidget(b13,1,3);
b31 = new QPushButton("(3,1)",this);
b31->setMaximumSize(100,100);
layout->addWidget(b31,3,1);
b33 = new QPushButton("(3,3)",this);
b33->setMaximumSize(100,100);
layout->addWidget(b33,3,3);
for(int i=0; icellRect(10,10);
layout->setColumnStretch(i, 60); // 这两句是等价代码
layout->setRowStretch(i, 60);
}
resize(10,10);
layout->activate();
}