简单QT应用到通过手写布局实现QT应用
2014-08-11 01:13
513 查看
新建QT项目
项目结构:
2.打开QT图形编辑界面,通过拖动组件的方式生成如下界面:
3.为确定按钮添加事件。选中按钮à转到槽,截图如下:
点击clicked按钮,添加事件代码如下:
4下面是手动编写一个QT案例:
5.新建QT项目
项目结构:
编写widget.h头文件
#ifndef
WIDGET_H
#define
WIDGET_H
#include
<QWidget>
#include
<QPushButton>
//按钮对应的头文件
#include
<QVBoxLayout>
//布局,这个中布局让组件上下显示
#include
<QHBoxLayout>
//这个布局让组件水平显示
#include
<QGridLayout>
//Grid表格布局的头文件
#include
<QLineEdit>
//单行文本框对应的头文件
#include
<QLabel> //Label对应的头文件
class
Widget
:
public
QWidget
{
Q_OBJECT
public:
Widget(QWidget
*parent=
0);
~Widget();
private:
QPushButton
*btn1;
//定义一个按钮
QHBoxLayout
*layout1,
*layout2;
//两个布局
QVBoxLayout
*layout3;
QGridLayout
*layout4;
QLineEdit
*edit1,*edit2,*edit3;
QLabel
*label1;
QLabel
*label2;
private
slots:
//这里表示的是事件
void
on_clicked();
};
#endif
//
WIDGET_H
6.编写widget.cpp文件
新建QT项目
项目结构:
2.打开QT图形编辑界面,通过拖动组件的方式生成如下界面:
3.为确定按钮添加事件。选中按钮à转到槽,截图如下:
点击clicked按钮,添加事件代码如下:
4下面是手动编写一个QT案例:
5.新建QT项目
项目结构:
编写widget.h头文件
#ifndef
WIDGET_H
#define
WIDGET_H
#include
<QWidget>
#include
<QPushButton>
//按钮对应的头文件
#include
<QVBoxLayout>
//布局,这个中布局让组件上下显示
#include
<QHBoxLayout>
//这个布局让组件水平显示
#include
<QGridLayout>
//Grid表格布局的头文件
#include
<QLineEdit>
//单行文本框对应的头文件
#include
<QLabel> //Label对应的头文件
class
Widget
:
public
QWidget
{
Q_OBJECT
public:
Widget(QWidget
*parent=
0);
~Widget();
private:
QPushButton
*btn1;
//定义一个按钮
QHBoxLayout
*layout1,
*layout2;
//两个布局
QVBoxLayout
*layout3;
QGridLayout
*layout4;
QLineEdit
*edit1,*edit2,*edit3;
QLabel
*label1;
QLabel
*label2;
private
slots:
//这里表示的是事件
void
on_clicked();
};
#endif
//
WIDGET_H
6.编写widget.cpp文件
#include "widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
layout1 = new QHBoxLayout;
layout2 = new QHBoxLayout;
//layout3 = new QVBoxLayout(this);
layout4 = new QGridLayout(this);
btn1 = new QPushButton;
edit1 = new QLineEdit;
edit2 = new QLineEdit;
edit3 = new QLineEdit;
label1 = new QLabel;
label2 = new QLabel;//这个控件没有任何父控件
//第一种布局方式
// layout1->addWidget(btn1);
// layout1->addWidget(edit1);
// layout1->addWidget(edit2);
// layout1->addWidget(edit3);
// layout2->addWidget(label1);
// layout3->addLayout(layout1);
// layout3->addLayout(layout2);
layout4->addWidget(btn1, 0, 0);
layout4->addWidget(edit1, 0, 1);
layout4->addWidget(edit2, 0, 2);
layout4->addWidget(edit3, 1, 0);
layout4->addWidget(label1, 1, 1);
btn1->setText("确定");
//当点击了btn1的时候就调用on_clicked()这个函数
//实现控件与具体的槽函数关联
connect(btn1, SIGNAL(clicked()), this, SLOT(on_clicked()));
}
Widget::~Widget()
{
//delete layout1;在QT内部,不需要单独delete一个控件的指针
//QT的窗口在退出的时候会自动delete他相关的子控件
delete label2;
}
void Widget::on_clicked()
{
int a = edit1->text().toInt();
int b = edit3->text().toInt();
if (edit2->text() == "+")
label1->setText(QString::number(a + b));
if (edit2->text() == "-")
label1->setText(QString::number(a - b));
if (edit2->text() == "*")
label1->setText(QString::number(a * b));
if (edit2->text() == "/")
{
if (b != 0)
label1->setText(QString::number(a / b));
}
}
7.main.cpp文件
#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}
8.窗口的效果:
相关文章推荐
- 简单QT应用了可实现手动布局QT应用
- iOS开发UI篇—使用xib自定义UItableviewcell实现一个简单的团购应用界面布局
- iOS开发UI基础—23使用xib自定义UItableviewcell实现一个简单的团购应用界面布局
- 基于JAVA语言实现银行简单ATM应用,通过console输入输出的行式模拟
- iOS开发UI篇—使用xib自定义UItableviewcell实现一个简单的团购应用界面布局
- iOS开发UI篇—使用xib自定义UItableviewcell实现一个简单的团购应用界面布局
- Qt中常见控件、布局、信号和槽的简单介绍与实现
- iOS开发UI篇—使用xib自定义UItableviewcell实现一个简单的团购应用界面布局
- iOS开发UI篇—使用xib自定义UItableviewcell实现一个简单的团购应用界面布局
- Auto Layout简单应用——以编码的方式实现Auto Layout自动布局(一)
- iOS通过NSUserDefaults实现简单的应用间数据传递
- iOS开发UI篇—使用xib自定义UItableviewcell实现一个简单的团购应用界面布局
- ioS开发之UI基础--使用xib自定义UItableviewcell实现一个简单的团购应用界面布局
- 黑白棋算法简单实现与基于Qt的GUI编程的综合应用
- iOS开发UI篇—使用xib自定义UItableviewcell实现一个简单的团购应用界面布局
- iOS开发UI篇—使用xib自定义UItableviewcell实现一个简单的团购应用界面布局
- 利用线性布局和相对布局实现一个简单的页面并且使应用支持国际化语言
- 使用xib自定义UItableviewcell实现一个简单的团购应用界面布局
- iOS开发UI篇—使用xib自定义UItableviewcell实现一个简单的团购应用界面布局
- Auto Layout简单应用——以编码的方式实现Auto Layout自动布局(二)