标题:【提问】写在一起.cpp如何写成头文件,源文件,主程序文件
作者:popechen
日期:2005-11-25 09:24
内容:
请教:下面的程序怎样写成 .h exit.cpp 和main.cpp三部分,谢谢啦
main.cpp
#include
#include
#include
int main(int argc,char**argv)
{
QApplication a(argc,argv);
QPushButton exit("退出",0);
exit.resize(100,55);
exit.setFont(QFont("Simsun",18,QFont::Bold));
QObject::connect(&exit,SIGNAL(clicked()),&a,SLOT(quit()));
a.setMainWidget(&exit);
exit.show();
return a.exec();
}
重发了一边,不知斑主这样行不行~~
本人非常热爱这个论坛,希望大家能帮助我~
#1 [XChinux 11-25 09:41]
查看本版置顶贴<Qt4学习初步>
其实就是从QWidget/QDialog/QMainWindow继承一下,然后在这个部件里,加入你想要的东西,像你的例子里,就是就加入一个PushButton,设置一下布局,再把信号与槽连接上,
在main函数里,则是使用这个你继承过来的类来生成实例,再show或者exec一下(非模式与模式)
#2 [running 11-25 10:41]
///////////////////////////////////////////////////////////////////
exit.h
//////////////////////////////////////////////////////////////////
#include
#include
#include
class MyMainWindow: public QMainWindow {
?Q_OBJECT
public:
?MyMainWindow();
private slots:
?quit();
private:
?QPushButton *exitButton;
};
///////////////////////////////////////////////////////////////////
exit.cpp
///////////////////////////////////////////////////////////////////
#include
#include "exit.h"
void MyMainWindow::quit()
{
}
MyMainWindow::MyMainWindow()
{
exitButton=new QPushButton(this);
exitButton->setText("exit"); ?
exitButton.setFont(QFont("Simsun",18,QFont::Bold));
QObject::connect(&exitButton,SIGNAL(clicked()),&a,SLOT(quit()));
}
////////////////////////////////////////////////////////////
main.cpp
////////////////////////////////////////////////////////////
#include "exit.h"
int main(int argc,char**argv)
{
QApplication a(argc,argv);
a.setMainWidget(&exitButton);
exitButton.show();
return a.exec();
}
#3 [popechen 11-25 11:23]
非常感谢,我没编过程序,现在项目要求我学qt ,我想学好它,但看了很久,还是不明白,痛苦中~特别对什么时候用什么类.
#4 [popechen 11-25 16:03]
为什么在头文件中要对quit()声明在exit.cpp对其实现而在原来写在一起是程序中直接
.....
exit.resize(100,55);
exit.setFont(QFont("Simsun",18,QFont::Bold));
QObject::connect(&exit,SIGNAL(clicked()),&a,SLOT(quit()));
a.setMainWidget(&exit);
...
可以应用&a,SLOT(quit())
#5 [running 11-25 16:15]
不好解释 只是说的是规定吧 或者是规范
另个quit()是个SLOT,所以肯定要在SLOT中申明的,这是QT的SIGNAL和SLOT机制决定的
而且申明SLOT,别忘了加O_OBJECT