这样一段代码有三个文件ww.h,ww.cpp,main.cpp,在头文件中定义了一个VCP类,在头文件中定义一个函数“void jiafa(int m,int n,int z)”,这个函数不是VCP类中的成员,在ww.cpp中有“void jiafa(int m,int n,int z){z=m*y+n-y;}"现在我想通过控件来改变y的值,从而使表达式z的值改变,现在我要把y定义成ww.cpp中全局变量?还是定义在类VCP的公共部分或者私有部分?不知道怎样连接把他们连接起来,如何设置点击微调按钮的步长值?就是点击一次就加5或者减5?望详细的代码。
ww.h的部分代码:
class VCP : public QWidget
{
Q_OBJECT
public:
VCP(QWidget *parent=0);
private:
QSpinBox *spinbox;//定义一个微调按钮
……;
protected:
void mm(……);
……;
private slots:
……;
};
void jiafa(int m,int n,int z);
ww.cpp文件的部分代码:
int z;//全局变量
VCP::VCP(QWidget *parent) : QWidget(parent)
{
spinbox=new QSpinBox;
spinbox->setValue(45);//设置初值为45
spinbox->setRange(0,100);//设置范围0-100
connect(spinBox, SIGNAL(valueChanged(int)), ? , SLOT(setValue(int)));“//这里要如何连接上y,从而改变y的值?
VCP::void mm(……)
{……;
jiafa(int m,int n,int z);
……;
}
jiafa(int m,int n,int z)
{z=m*y+n-y;}
main.cpp文件的部分代码:
{ QApplication app(argc,argv);
VCP ww;
……;
return app.exec();}
由于代码过长,只列出了部分代码,希望高手可以在这部分代码的基础上给出好的方法。