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()" );