qt笔记1

整体环境ubuntu

1.编译方法

 qmake -project

qmake 生成的.pro文件

make


2.建立链接

QObject::connect(触发的控件,SIGNAL(发射的信号),被链接的对象,SLOT(链接对象的槽))

eg:QObject::connect(button,SIGNAL(clicked()),&app,SLOT(quit()));

例子:

#include <QtGui/QApplication>
#include <QtGui/QHBoxLayout>
#include <QtGui/QSlider>
#include <QtGui/QSpinBox>

int main(int argc,char * argv[])
{
	QApplication app(argc,argv);
	QWidget *win=new QWidget;
	win->setWindowTitle("Enter Your Age");

	QSpinBox *spinbox=new QSpinBox;
	QSlider *slider=new QSlider(Qt::Horizontal);
	spinbox->setRange(0,130);
	slider->setRange(0,130);

	QObject::connect(spinbox,SIGNAL(valueChanged(int)),slider,SLOT(setValue(int)));
	QObject::connect(slider,SIGNAL(valueChanged(int)),spinbox,SLOT(setValue(int)));
	spinbox->setValue(35);
	QHBoxLayout *layout =new QHBoxLayout;//布局管理器 QHBoxLayout 水平 QVBoxLayout 竖直方向 QGBoxLayout 把各个窗口部件排列在一个网格中
	layout->addWidget(spinbox);
	layout->addWidget(slider);

	win->setLayout(layout);  //会调用在窗口上安装该布局管理器,从软件底层来说,QSPinBox和QSlider会自动“重定义父对象”他们会成为这个安装了布局的
            //窗口的子对象。也正式基于这个原因,当创建一个需要放进某个布局中的窗口部件时,就没有必要为其显示的指定父对象了。

	win->show();
	return app.exec();
}


重要:

win->setLayout(layout);  //会调用在窗口上安装该布局管理器,从软件底层来说,QSPinBox和QSlider会自动“重定义父对象”他们会成为这个安装了布局的
            //窗口的子对象。也正式基于这个原因,当创建一个需要放进某个布局中的窗口部件时,就没有必要为其显示的指定父对象了。


你可能感兴趣的:(ubuntu,layout,qt,button,Signal,网格)