1. QT 安装
现在安装就是简单,只需鼠标点击一下就好了。
1. 安装好 VS2008 + SP1补丁
2. 下载安装qt-win-opensource-4.6.2-vs2008.exe
3. 下载安装 qt-vs-addin-1.1.4.exe
Oh, It is so easy.
2. 第一个QT程序。
QT 用起来太简单了, 直接上代码:
1 #include < QApplication > 2 #include < QHBoxlayout > 3 #include < QSlider > 4 #include < QSpinBox > 5 6 int main( int argc, char * argv[]) 7 { 8 QApplication app(argc, argv); 9 10 QWidget * window = new QWidget; 11 window -> setWindowTitle( " Enter your Age " ); 12 13 QSpinBox * spinBox = new QSpinBox; 14 QSlider * slider = new QSlider(Qt::Horizontal); 15 16 QObject::connect(spinBox, SIGNAL(valueChanged( int )), 17 slider, SLOT(setValue( int ))); 18 19 QObject::connect(slider, SIGNAL(valueChanged( int )), 20 spinBox, SLOT(setValue( int ))); 21 spinBox -> setValue( 35 ); 22 23 QHBoxLayout * layout = new QHBoxLayout; 24 layout -> addWidget(spinBox); 25 layout -> addWidget(slider); 26 window -> setLayout(layout); 27 28 window -> show(); 29 30 return app.exec(); 31 } 32
运行结果如下图所示:
以下是几个注意点:
1. Qt基本上所有的UI类都是由QWidget继承出来。
2. QT new一个控件不用释放,有种拉了屎不用擦屁股的快感。
3. QT用QObject::connect函数来实现消息映射(QT的专业叫法叫:信号和槽)。
在 QObject::connect(spinBox, SIGNAL(valueChanged(int)),
slider,SLOT(setValue(int)));
中spinBox 发送valueChanged 的singal,而slider有slot来介绍这个消息,这个槽内部嵌的是setValue(int)。
4. 类QHBoxLayout是专门用来水平布局用的。在QT中, 我们创建一个button的时候不能直接放
在widget上而是需要通过Qwidget::setLayout()来设置。
再附上程序中几个类的结构体:
3. 小结
这个星期好累, 不想写东西, 这些不能算文章的只是习惯性的总结,记录一下而已。