7_13

.h 用于查询 .ui给人看的 .cpp干活的

信号 槽机制

#include<Qdebug> qt的输入输出文件

qDebug()<<""; 输出并自动换行

////////////////////////////////////////////////////////////////////////////////////////
vector:

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}

MainWindow::~MainWindow()
{
delete ui;
}
//vector
void MainWindow::on_pushButton_clicked()
{
//cout<<"1111111111"<<endl;
QVector<int> v;
v.append(1);
v.append(2);
v.append(3);
v<<4;
//方法1:下标
for(int i=0;i<v.size();i++)
{
qDebug()<<v[i];
}
//方法2:迭代器
QVector<int >::iterator it;
for(it = v.begin();it!=v.end();++it)
{ qDebug()<<*it; }
}
//Map
void MainWindow::on_pushButton_2_clicked()
{
QMap<int,int> m;
m.insert(1,11);
m.insert(3,33);
m.insert(2,22);
m.insert(5,55);
m.insert(4,44);

//qDebug()<<m;

QMap<int ,int>::iterator it;
for(it=m.begin();it!=m.end();++it)
qDebug()<<it.key()<<"---"<<it.value();
}

 

1.信号与槽的连接方式 (转载)

1.一个信号可以与另一个信号相连:

    connect(Object1,SIGNAL(signal1),Object2,SIGNAL(signal1));

表示Object1的信号1发送可以触发Object2的信号1发送。

2.同一个信号可以与多个槽相连:

    connect(Object1,SIGNAL(signal2),Object2,SLOT(slot2);
     connect(Object1,SIGNAL(signal3),Object3,SLOT(slot1);

3.同一个槽可以相应多个信号:

    connect(Object1,SIGNAL(signal2),Object2,SIGNAL(slot2);
     connect(Object3,SIGNAL(signal2),Object2,SIGNAL(slot2);

 

常用连接方式

    connect(Object1,SIGNAL(signal),Object2,SLOT(slot));
  • 1

SIGNAL()和SLOT()定义的两个宏,它们返回参数的C语言风格字符串(const char*)。因此下面这样两种是等同的:

    connect(button,SIGNAL( clicked() ),this,SLOT( showArea() );
    connect(button,"clicked()",this,"showArea()" );

 

posted @ 2018-07-13 16:56  zangzang  阅读(129)  评论(0编辑  收藏  举报