QT入门例程

#include <qapplication.h>
#include <qwidget.h>
class MyMainWindow : public QWidget
{
  public:
        MyMainWindow();
}; 
MyMainWindow::MyMainWindow()
 {
    setMinimumSize(400,300);
    setMaximumSize(800,600);
}
int main(int argc,char **argv)
{
    QApplication a(argc,argv);
    MyMainWindow w;
     a.setMainWidget(&w);
     w.show();
     return a.exec();
 }

上边是一个qt入门程序,qt程序的基本框架是这样的:

int main(int argc,char **argv)
{
    QApplication a(argc,argv);
 }

首先接受argc argv然后将参数传递到qapplication的对象 a中,这样就开始了qt部分,在qt编程中,常用部件来说明一个类,一个部件就是一个类的对象,而其他的部件或者类的对象可以放置在这个付部件中,a.setMainWidget(&w);将w和a关联起来,这样可以理解为w是部件a中的部件。
   那么怎么在部件中放置其他的部件?

#include <qapplication.h>
#include <qwidget.h>
#include <qfont.h>
#include <qpushbutton.h>//button部件类
#include <qlable.h> //label部件类

class MyMainWindow : public QWidget
{
  public:
    MyMainWindow();
    QPushButton *b1;//同理,如果要添加其他的部件,只要申明类型的指针
    QLabel *label;//在构造函数中申请控制初始化就可以了。
}; 
MyMainWindow::MyMainWindow()
 {
    b1=new QPushButton("button",this);//这里存在一个常犯的错误,
    b1->setGeometry(20,20,160,80);//如果不是开辟空间,而是之间的定义类的对象
    b1->setFont(QFont("Times",18,QFont::Bold));//参照对象的作用域
    label=new QLabel(this);//会在花括号结构后释放,而发生错误
    label->setGeometry(20,110,180,80);//推荐按照这里的方式进行空间开辟
    label->setText("this is a label ");
    label->setAlignment(AlignCenter);//需要注意这里的this指针
    setMinimumSize(400,300);//通过this指针,制定子部件的父部件
    setMaximumSize(800,600);
}
int main(int argc,char **argv)
{
    QApplication a(argc,argv);
    MyMainWindow w;
     a.setMainWidget(&w);
     w.show();//部件初始化后,需要.show()才能在界面显示
     return a.exec();
 }

最简单的信号与槽演示:

MyMainWindow::MyMainWindow()
 {
    b1=new QPushButton("button",this);
    b1->setGeometry(20,20,160,80);
    b1->setFont(QFont("Times",18,QFont::Bold));
    label=new QLabel(this);
    label->setGeometry(20,110,180,80);
    label->setText("this is a label ");
    label->setAlignment(AlignCenter);
    setMinimumSize(400,300);
    setMaximumSize(800,600);
    connect(b1,SIGNAL(clicked()),qApp,SLOT( quit() ));
}

 只要在MyMainWindow的构造函数总加入信号与槽的链接函数就可以通过点击按钮推出程序,
这里需要注意的是qApp,他是一个内部指针,指向QApplication a,qt中最为重要的概念之一就是信号与槽,在部件通信、数据交换等操作中,起到非常重要的作用。

 

<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
阅读(1390) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值