第八课启航!第一个应用程序

谱写赞歌 谱写赞歌     2022-08-22     119

关键词:

一、计算器程序界面设计

(1)、QLineEdit用于接收用户输入

(2)、QLineEdit能够获得用户输入的字符串

(3)、QLineEdit是功能性组件需要父组件作为容器

(4)、QLineEdit能够在父组件中进行定位

二、界面的设计与实现

1、定义组件间的间隔

(1)、Space = 10px

2、定义按钮组件大小

(1)、Width= 40px, Height= 40px

3、定义文本框组件大小

(1)、Width = 5*40px + 4*10Px, Height = 30px

三、注意问题

1、计算器程序不需要最大最小化按钮

2、计算器程序的窗口应该是固定大小

3、文本框不能直接输入字符串

#include <QtGui/QApplication>
#include <QLineEdit>
#include <QPushButton>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    int ret =0;
    QWidget* w = new QWidget(NULL,Qt::WindowCloseButtonHint);//添加一个关闭按钮,最后只剩下了关闭按钮
    QLineEdit *le = new QLineEdit(w);
    QPushButton* button[20] = {0};
    const char* btnText[20] =
    {
        "7", "8", "9", "+", "(",
        "4", "5", "6", "-", ")",
        "1", "2", "3", "*", "<-",
        "0", ".", "=", "/", "C"
    };

    le->resize(240,30);
    le->move(10,10);
    le->setReadOnly(true);//设置文本框为只读,不输入字符串

    for(int i=0; i<4; i++)
    {
        for(int j=0; j<5; j++)
        {
            button[i*5 + j] = new QPushButton(w);
            button[i*5 + j] ->resize(40,40);//[i*5 + j]是转换为一维来算
            button[i*5 + j]->move(10 + (10 + 40)*j, 50 + (10 + 40)*i);//横坐标移五个,纵坐标移四个
            button[i*5 + j]->setText(btnText[i*5 + j]);
        }
    }

    w->show();
    w->setFixedSize(w->width(), w->height());//要放在show()后,否则是先固定再显示
    ret = a.exec();
    delete w;//记得删除父对象
    return ret;
}

四、小结

(1)、GUI应用程序开发必须先进行界面设计

(2)、GUI应用程序界面需要考虑各个细节

A、界面决定用户的最终体验

B、界面细节是GUI应用程序品质的重要体现

(3)、Qt库有能力实现各种GUI应用程序要求

(4)、Qt帮助文档的使用对于开发是非常重要

 

重学java基础第八课:硬件和冯洛伊曼系统

  查看详情

scrapy学习第八课(代码片段)

python爬虫框架scrapy学习第八课目标爬取文章,实现文本和图片数据存储文本数据以json文件存储文本数据存储在mongodb数据库中图片保存在本地爬虫实例目标爬取文章,实现文本和图片数据存储文本数据以json文件存储文本... 查看详情

第八课-第三讲磁盘及文件系统管理详解之一

一、磁盘管理(详细的讲解硬盘的原理)机械式硬盘---(cpu,内存是电气设备)U盘光盘软盘硬盘出厂前有一次“低级格式化”,划分磁道分区:创建独立的文件系统MBR:MasterBooterRecord主引导记录0盘面0磁道0扇区512个字节,不属... 查看详情

产品经理进阶第八课,axure实操之导航栏吸附效果

〝古人学问遗无力,少壮功夫老始成〞导航栏的吸附效果,是指在一个手机页面中,导航栏随着你滑动它会吸附在顶部,不跟随屏幕一起滑动。常码字不易,出精品更难,没有特别幸运,那么请先特别努力,如果这篇文章能给你... 查看详情

产品经理进阶第八课,axure实操之导航栏吸附效果

〝古人学问遗无力,少壮功夫老始成〞导航栏的吸附效果,是指在一个手机页面中,导航栏随着你滑动它会吸附在顶部,不跟随屏幕一起滑动。常码字不易,出精品更难,没有特别幸运,那么请先特别努力,如果这篇文章能给你... 查看详情

第八课网络通信

unix_c_08.txt================第八课网络通信================一、基本概念------------1.ISO/OSI七层网络协议模型~~~~~~~~~~~~~~~~~~~~~~~~~~+------------+--------------+---|应用层|Application|^+------------+--------------+||表示层|Pr 查看详情

golang✔️走进go语言✔️第八课函数(代码片段)

【Golang】✔️走进Go语言✔️第八课概述函数函数定义函数传递参数函数传递地址函数闭包概述Golang是一个跨平台的新生编程语言.今天小白就带大家一起携手走进Golang的世界.(第8课)函数函数(Function)是基本的代码的代码块,用于执... 查看详情

golang✔️走进go语言✔️第八课函数(代码片段)

【Golang】✔️走进Go语言✔️第八课概述函数函数定义函数传递参数函数传递地址函数闭包概述Golang是一个跨平台的新生编程语言.今天小白就带大家一起携手走进Golang的世界.(第8课)函数函数(Function)是基本的代码的代码块,用于执... 查看详情

java-web——第八课jstl的显示格式

前言:做一件事情之前,首先我们需要发现问题,前一课我们讲了JSTL如何运用到JSP网页之中去虽然只是提了一下,不过还是有问题的存在在我们的实体类中,难免会有数字的和时间的存在, 那么,在页面显示的时候又会怎... 查看详情

7.8-uc-第八课:网络通信

================第八课 网络通信================一、基本概念------------1.ISO/OSI七层网络协议模型~~~~~~~~~~~~~~~~~~~~~~~~~~+------------+--------------+---| 应用层 | Application| ^+------------+------ 查看详情

scrapy学习第八课(代码片段)

python爬虫框架scrapy学习第八课目标爬取文章,实现文本和图片数据存储文本数据以json文件存储文本数据存储在mongodb数据库中图片保存在本地爬虫实例目标爬取文章,实现文本和图片数据存储文本数据以json文件存储文本... 查看详情

第八课作业

1.分别用%d %o%x输出一个泌值,并写清楚区别。#include<stdio.h>//1.分别用%d%o%x输出一个泌值,并写清楚区别。intmain(){inta=1234;printf("以百分之d显示:%d 以百分之o显示:%o 以百分之x显示:%x",a,a,a);getchar();return0;} 它们之间的... 查看详情

cs231n第八课:目标检测定位学习记录

结合视频第八集和笔记:http://chuansong.me/n/353443351445本节课程从分类(Classification),定位(Localization)和检测(Detection)三个方面入手。从上图可以直观的看到:1.对于分类而言,就是对于给定的图片把其划分到给定的几种类别... 查看详情

第八课ros的空间描述和变换

1、tf的实际应用1)在机器人的配置中从上面可以看出激光雷达中心距离机器人底座的中心有20cm,激光雷达的中心距机器人底座中心有10cm,如果激光雷达在障碍物前面0.3米,那么机器人底座离障碍物多远呢?1、新建一个包,如... 查看详情

第八课文件和目录的权限更改所有者及所属组umask命令及隐藏权限

一、文件和目录的权限1、我们先用命令ls-l查看文件的详细信息。一个文件有三个权限位:第一段所有者权限,第二段所属组权限,第三段其它用户的权限。r(可读)=4;w(可写)=2;x(可执行)=1;-(不可执行)=0,.其中后面的这个... 查看详情

第八课学习做的一个小案例,用来去除底部导航最后一个|(代码片段)

全部代码如下<style>.footwidth:100%;margin:0auto;height:80px;background:#5283ff;#footnavlist-style:none;display:flex;justify-content:center;#footnavlifont-size:18px;padding-top:25px;#footnavliac 查看详情

python第八课(代码片段)

day08---mongoDB和python的结合使用课堂笔记:1、BeautifulSoup解析库2、MongoDB存储库3、requests-html请求库BeautifulSoup1、什么bs4,为什么要使用bs4?是一个基于re开发的解析库,可以提供一些强大的解析功能。提高提取数据的效率与爬虫开发... 查看详情

第八课《复杂页面实现》(代码片段)

按照如下设计图进行页面的实现说明:最左侧一列要求自适应浏览器高度,左上面4个按钮相对浏览器左上角固定位置,左下方两个按钮相对浏览器左下角固定位置左侧第二列(蓝色背景色)导航列固定宽度,高度也是自适应浏览器... 查看详情