java qt gui_《C++ GUI Qt4编程》第一章、Qt入门

1.1 Hello Qt

创建hello目录,新建源文件hello.cpp:

#include

#include

int main(int argc, char *argv[])

{

QApplication app(argc, argv);

QLabel *label = new QLabel("Hello Qt!");

label->show();

return app.exec();

}

进入hello目录,qmake -project生成一个与平台无关的项目文件hello.pro。

TEMPLATE      = app

SOURCES       = hello.cpp

然后输入命令qmake hello.pro从项目文件生成一个与平台相关的makefile文件。

键入make命令就可以构建该程序了。

1.2 建立连接

#include

#include

int main(int argc, char *argv[])

{

QApplication app(argc, argv);

QPushButton *button = new QPushButton("Quit");

QObject::connect(button, SIGNAL(clicked()),

&app, SLOT(quit()));

button->show();

return app.exec();

}

将按钮的clicked()信号和QApplication对象的quit()槽连接。

1.3 窗口部件的布局

#include

#include

#include

#include

int main(int argc, char *argv[])

{

QApplication app(argc, argv);

QWidget *window = new QWidget;

window->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;

layout->addWidget(spinBox);

layout->addWidget(slider);

window->setLayout(layout);

window->show();

return app.exec();

}

关于这段代码需要注意两点:

1.布局管理器会自动将该窗口设置为spin和slider的父对象。

2.当滑动滑块时,QSlider的setValue槽会发射valueChanged信号,这样就触发了spin的

setValue槽。最终回到QSlider的setValue时就不会再发射任何信号了,因为滑块的值

已经是35了。具体过程如下图:

1337437761_9087.png

一般步骤总结:

1.声明所需的窗口部件。

2.设置它们所应具备的属性。

3.把它们添加到布局中,布局自动设置它们的位置和大小。

4.利用信号和槽机理,连接各个窗口部件,管理用户的交互行为。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值