简单QT应用了可实现手动布局QT应用
新建QT项目
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
项目结构:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
2.打开QT图形编辑界面,通过拖动组件的方式生成例如以下界面:
3.为确定button加入事件。
选中buttonà转到槽。截图例如以下:
点击clickedbutton,加入事件代码例如以下:
4以下是手动编写一个QT案例:
5.新建QT项目
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
项目结构:
编写widget.h头文件
#ifndef
WIDGET_H
#define
WIDGET_H
#include
<QWidget>
#include
<QPushButton>
//button相应的头文件
#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;
//定义一个button
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应用的更多相关文章
- Qt之手动布局
简述 手动布局,可以实现和水平布局.垂直布局.网格布局等相同的效果,也可实现属于自己的自定义布局,当窗体缩放时,控件可以随之变化. 其对于坐标系的建立有严格要求,纯代码思维,使用复杂,不易维护,所以一 ...
- Qt基本控件及三大布局
Qt基本控件及三大布局 来源: http://blog.csdn.net/a2604539133/article/details/73920696 Qt基本模块 一.Qt的三大布局 QHBoxLayo ...
- QT学习记录之控件布局
作者:朱金灿 来源:http://blog.csdn.net/clever101 想到控件布局就会想到Windows编程中要实现对话框上的控件的合理布局是一件多么艰难的事情.对此QT提出了一个很方便的 ...
- [Qt Creator 快速入门] 第1章 Qt Creator简介
Qt Creator 是一个跨平台的.完整的 Qt 集成开发环境,其中包括了高级C++代码编辑器.项目和生成管理工具.集成的上下文相关的帮助系统.图形化调试器.代码管理和浏览工具等.这一章先对 Qt ...
- Qt国际化(Q_DECLARE_TR_FUNCTIONS() 宏给非Qt类添加翻译支持,以前没见过QTextEncoder和QTextDecoder和QLibraryInfo::location()和QEvent::LanguageChange)
Internationalization with Qt 应用程序的国际化就是使得程序能在国际间可用而不仅仅是在本国可用的过程. Relevant Qt Classes andAPIs 以下的类支持Q ...
- [Qt Creator 快速入门] 第2章 Qt程序编译和源码详解
一.编写 Hello World Gui程序 Hello World程序就是让应用程序显示"Hello World"字符串.这是最简单的应用,但却包含了一个应用程序的基本要素,所以 ...
- Fedora15下搭建QT开发环境及编译QT(提前一键安装完,qt编译所有必需库 yum install gcc-c++ libXtst-devel freetype freetype-devel fontconfig-devel libXrender-devel )
看了不少linux上编译qt的文章,实际上直接通过yum 安装qt是最方便的,请参考<yum安装qt> 不过初步接触fedora,为了了解一下如何在linux上编译.安装开源代码,所以必须 ...
- Qt 4.6: A Quick Start to Qt Designer
Qt 4.6: A Quick Start to Qt Designer A Quick Start to Qt Designer Using Qt Designer involves four ba ...
- Qt-c++桌面编程报错:qt.qpa.plugin: Could not find the Qt platform plugin "windows" in "",已解决
语言:c++ 编译库:Qt GUI,qt5.12.1 软件类型:Qt application,qt桌面软件 运行平台:window 10 ?按照[https://www.devbean.net/201 ...
随机推荐
- veridata实验举例(6)验证agent启动先后顺序是否对捕获update操作有影响
veridata实验举例(6)验证agent启动先后顺序是否对捕获update操作有影响 续接veridata实验系列 上篇:"veridata实验举例(5)改动主键上的列值.update ...
- Android-IA Power Manager (S3)
Sleep and wake up
- 数据库连接技术之OLE DB
之前的博客介绍了ODBC和JDBC.这次简单的介绍一下OLE DB.ODBC的总结不知道是没贴到博客上还是不在这个博客上,我再找找,没有的话我再补充到时候.好了.開始吧. 回想 之前呢介绍过了ODBC ...
- Android版本铎A梦幻连连看游戏源代码完整版
我写主代码,没有版权问题,它少量小游戏和应用源代码稍后会陆续上线!哆啦A梦连连看包含了2种游戏模式和60关卡,并能够通过改动配置文件非常方便的实现自行添加新关卡.採用andengine游戏引擎开发,内 ...
- iOS随机颜色
#import <UIKit/UIKit.h> @interface UIColor (RandomColor) +(UIColor *) randomColor; @end #impor ...
- Ubuntu下用NdisWrapper安装网卡驱动
下面是一个简单全面的使用NdisWrapper的指南.这是从Beginning Ubuntu Linux, Second Edition中提炼出来的. 这份指南是第8章的一部分.该章给出了在Ubunt ...
- Red Gate系列之三 SQL Server 开发利器 SQL Prompt 5.3.4.1 Edition T-SQL智能感知分析器 完全破解+使用教程
原文:Red Gate系列之三 SQL Server 开发利器 SQL Prompt 5.3.4.1 Edition T-SQL智能感知分析器 完全破解+使用教程 Red Gate系列之三 SQL S ...
- 重新想象 Windows 8 Store Apps (11) - 控件之 ListView 和 GridView
原文:重新想象 Windows 8 Store Apps (11) - 控件之 ListView 和 GridView [源码下载] 重新想象 Windows 8 Store Apps (11) - ...
- POJ1274 The Perfect Stall【二部图最大匹配】
主题链接: id=1274">http://poj.org/problem? id=1274 题目大意: 有N头奶牛(编号1~N)和M个牛棚(编号1~M). 每头牛仅仅可产一次奶.每一 ...
- 【转】QT样式表 (QStyleSheet)
作者:刘旭晖 Raymond 转载请注明出处Email:colorant@163.comBLOG:http://blog.csdn.net/colorant/ 除了子类化Style类,使用QT样式表( ...