Qt学习记录(3)——创建类以及简单函数调用

5 篇文章 0 订阅
订阅专栏

一、创建一个按钮

在这个文件中进行编辑
在这里插入图片描述

1.1、头文件

要创建类,是不是需要调用头文件

#include <qpushbutton.h>

1.2、创建一个按钮,并显示

#include "mywidget.h"
#include <QPushbutton>

myWidget::myWidget(QWidget *parent)
    : QWidget(parent)
{
    //定一个按钮           //本来没有嘛,我们直接new一个
    QPushButton  *btn = new QPushButton;
    //通过show显示
    btn -> show();
}

myWidget::~myWidget()
{

}

show();他自己会产生一个窗口并显示,而我们不想让他单独显示,所以我们还要修改代码
在这里插入图片描述调用 setParent();函数

#include "mywidget.h"
#include <QPushbutton>

myWidget::myWidget(QWidget *parent)
    : QWidget(parent)
{
    //定一个按钮           //本来没有嘛,我们直接new一个
    QPushButton  *btn = new QPushButton;
    //通过show显示
    //btn -> show();
    //让对象依赖在我(this)的窗口上
    btn -> setParent(this);
}

myWidget::~myWidget()
{

}

在这里插入图片描述

如何在按钮上写字呢
调用文本函数 setText();

#include "mywidget.h"
#include <QPushbutton>

myWidget::myWidget(QWidget *parent)
    : QWidget(parent)
{
    //定一个按钮           //本来没有嘛,我们直接new一个
    QPushButton  *btn = new QPushButton;
    //通过show显示
    //btn -> show();
    //让对象依赖在我的窗口上
    btn -> setParent(this);
    //写字
    btn -> setText("我的第一个按钮");
    
}

myWidget::~myWidget()
{

}

在这里插入图片描述

二、新方法创建按钮

通过F1,查看帮助过后
在这里插入图片描述我们可以直接这样使用:

#include "mywidget.h"
#include <QPushbutton>

myWidget::myWidget(QWidget *parent)
    : QWidget(parent)
{
    QPushButton  *btn2 = new QPushButton("第二个按钮",this);
}
myWidget::~myWidget()
{

}

在这里插入图片描述
但是这里报警了,因为这样生成的东西是按照你的类大小来定义窗口的。但是下面提醒了size。
我们可以用resize来初始化窗口。

#include "mywidget.h"
#include <QPushbutton>

myWidget::myWidget(QWidget *parent)
    : QWidget(parent)
{
//    //定一个按钮           //本来没有嘛,我们直接new一个
//    QPushButton  *btn = new QPushButton;
//    //通过show显示
//    //btn -> show();
//    //让对象依赖在我的窗口上
//    btn -> setParent(this);
//    //写字
//    btn -> setText("我的第一个按钮");
    //第二种方法创建按钮
    QPushButton  *btn2  = new QPushButton("第二个按钮",this);
    //定义从窗口大小
    resize(600,400);

}

myWidget::~myWidget()
{

}

在这里插入图片描述

三、移动按钮

移动:move

#include "mywidget.h"
#include <QPushbutton>

myWidget::myWidget(QWidget *parent)
    : QWidget(parent)
{
    //定一个按钮           //本来没有嘛,我们直接new一个
    QPushButton  *btn = new QPushButton;
    //通过show显示
    //btn -> show();
    //让对象依赖在我的窗口上
    btn -> setParent(this);
    //写字
    btn -> setText("我的第一个按钮");
    //第二种方法创建按钮
    QPushButton  *btn2  = new QPushButton("第二个按钮",this);
    //移动btn2
    btn2 -> move(200,200);
    //定义从窗口大小
    resize(600,400);

}

myWidget::~myWidget()
{

}

在这里插入图片描述这样就把btn2 (0,0)移动到(200,200).

四、修改窗口标题

在这里插入图片描述

我英语不好,我看着这个英文就不舒服。我想把它变为中文。
窗口标题的英文是是什么呢:setWindowTitle();
所以调用这个函数。

#include "mywidget.h"
#include <QPushbutton>

myWidget::myWidget(QWidget *parent)
    : QWidget(parent)
{
    //定一个按钮           //本来没有嘛,我们直接new一个
    QPushButton  *btn = new QPushButton;
    //通过show显示
    //btn -> show();
    //让对象依赖在我的窗口上
    btn -> setParent(this);
    //写字
    btn -> setText("我的第一个按钮");
    //第二种方法创建按钮
    QPushButton  *btn2  = new QPushButton("第二个按钮",this);
    //移动btn2
    btn2 -> move(200,200);
    //定义从窗口大小
    resize(600,400);

    //设置窗口的标题
    setWindowTitle("我的窗口");
}

myWidget::~myWidget()
{

}

在这里插入图片描述

这下舒服多了

六、固定窗口大小

在这里插入图片描述现在我们会发现我们虽然对窗口进行了初始化,但是我们还是可以拖动他,改变窗口的大小。我不想让他改变,怎么办呢

调用setFixedSize();

#include "mywidget.h"
#include <QPushbutton>

myWidget::myWidget(QWidget *parent)
    : QWidget(parent)
{
    //定一个按钮           //本来没有嘛,我们直接new一个
    QPushButton  *btn = new QPushButton;
    //通过show显示
    //btn -> show();
    //让对象依赖在我的窗口上
    btn -> setParent(this);
    //写字
    btn -> setText("我的第一个按钮");
    //第二种方法创建按钮
    QPushButton  *btn2  = new QPushButton("第二个按钮",this);
    //移动btn2
    btn2 -> move(200,200);
    //定义从窗口大小
    resize(600,400);

    //设置窗口的标题
    setWindowTitle("我的窗口");

    //固定窗口的大小
    setFixedSize(600,400);
}

myWidget::~myWidget()
{

}

这样我们的窗口就不会被改变了。

QT5串口编程——编写简单的上位机
12-27
博客在https://blog.csdn.net/u014695839/article/details/50611549,重新上传了一份串口上位机实例的代码
Qt引用Qt自定义库
12-21
一个简单的例子演示,Qt中怎样调用QT写的动态库中函数的方法
Qt的基本函数
最新发布
yuxi的专栏
06-07 273
在pro文件中,Qt默认会包含“core”以及“gui”两个模块。其中核心模块——“core”包含编程必需的宏以及函数等。注意,如果手动引入了头文件,则可以使用更多的语法格式进行输出。从形式上来看它是一个宏定义无异,不过该宏指向的为QMessageLogger中的debug函数,因此,从宏观上来就qDebug依旧可以理解为它是一个函数。
QT学习之普通函数调用的函数用法
qq_32716429的博客
06-23 5826
普通函数 eg:void init (); 想调用槽函数 class Dialog : public QDialog { Q_OBJECT public: explicit Dialog(QWidget *parent = 0); ~Dialog(); public: bool getSerialPortConfig(void); }; 这样做: //包含Dialog所在的头文件 #include "Dialog.h" //定义Dialog 的一个指针变
使用QT进行函数的封装以及对于函数的调用
weixin_45778713的博客
10-20 1011
一、使用QT进行函数的封装。二、调用动态链接库DLL。
QT在项目中创建
weixin_52694360的博客
03-03 9916
一.创建一个新的 QObject : 不仅是所有 Qt 对象的基,还是“Qt 中的对象模型(Object Model)”的核心; QWidget:是所有用户界面对象的基。 QmainWindows:为构建应用程序的用户界面提供了一个框架 QDeclarativeitem:这个模块的作用就是将QML元素与标准C++相结合。而且它提供了一个很简单的方法使新建的QML文件作为一个项目加入到以前的图形视图的应用中。 QQuickItem:绘制或渲染文本; 最后一步 二.代码调试 用“
Qt之一个成员函数调用另一个成员的方法
热门推荐
朗朗上口就行啦的博客
06-19 1万+
原文:https://blog.csdn.net/qq_35721743/article/details/83592415 在继承之外,在C++中一个成员函数调用另一个成员的方法主要有:的组合,友元的前向声明,单例模式等,下面主要讲讲这4种方法的实现 方法1:利用的组合 组合通俗来讲就是B有A的属性,如声明一个Person,再声明一个Teacher,Person对象有...
Qt中调用函数如何返回多个值的Qt文件
08-22
本篇文章将详细探讨在Qt环境中如何调用函数并返回多个值。 1. **使用结构体或** 在C++中,我们可以创建一个结构体或,将多个值封装在一起。例如,假设我们有三个需要返回的值`int a`, `QString b`, 和`bool c`...
Qt入门练习项目——TCP通讯.zip
08-03
Qt入门练习项目——TCP通讯.zip】是一个针对初学者设计的Qt编程实践项目,主要目的是帮助用户理解并掌握Qt框架的基础知识以及如何实现基于TCP协议的网络通信。Qt是一个跨平台的应用程序开发框架,广泛应用于桌面、...
Qt入门练习项目——生产者消费者模型.zip
08-01
**Qt入门练习项目——生产者消费者模型** 在编程领域,生产者消费者模型是一种常见的多线程同步问题的解决方案。这个模型通常用于处理数据流的异步处理,其中一个或多个线程(生产者)生成数据,而其他线程(消费者...
Qt知识点梳理 —— 代码实现菜单栏工具栏
01-27
在本文中,我们将深入探讨Qt框架中的菜单栏(MenuBar)和工具栏(ToolBar)的创建与使用,这对于任何想要开发跨平台图形用户界面(GUI)应用程序的Qt开发者来说都是至关重要的知识点。Qt是一个功能强大的C++库,它...
qt跨线程调用指定函数的几种方法
biao2488890051的博客
07-06 2221
线程T1的run函数中,实例化出来了对象O1(里面有work()函数),T2(UI线程,也叫主线程)的run中实例化出来了O2(里面有string widgetModify(xx)函数);work()函数中想调用O2的str = widgetModify(xx)函数,这就是一个跨线程调用的例子,跨线程写widget,需要传入参数,而且还需要获得返回值。那就会报错了,因为跨线程操作UI界面,会造成和主线程同时修改同一个界面的风险,qt是不允许的。当前有两个线程,T1, T2;
QT常用函数大全(更新中)
dori12的博客
02-12 3398
几乎包含了全部常用的QT函数,附有目录以供查找参考。
Qt中的静态函数调用
LSX312441548的博客
10-14 1533
Qt静态函数的调用
qt中关于中的成员函数调用的问题(记录)
七 六 伍 的博客
02-28 1775
c++中 关于中的成员函数的调用 代码来源 菜鸟教程 #include <iostream> using namespace std; class Box { public: double length; // 长度 double breadth; // 宽度 double height; // 高度 // 成员函数声明 double getVolume(void);
qt布局调用自定义函数_【Qt学习笔记】11.自定义控件 Customize the Widget
weixin_36409041的博客
02-04 1030
一、窗口绘制——基本方法自定义窗口:Qt里允许自定义窗口控件,使之满足特殊的要求:1、可以修改其显示,自行绘制2、可以呈现动态效果3、可以添加事件,支持鼠标和键盘操作自定义的控件可以直接在Qt Designer 中使用,可以直接加到父窗口里。步骤:1、新建一个,继承于QWidget和QFrame,最好是继承于QFrame2、重写以下函数 void CellMonitor::paintEvent(...
linux的进程间通信之信号通信
QQ845264718
11-28 124
#include <stdio.h> #include"common.h" /* 信号的响应有四种方式: 1.默认 2.忽略 3.阻塞延迟响应(挂起) 4.捕抓(关联) */ //响应函数 接口是固定的 void f(int sig) { printf("捕抓到一个信号:%d\n",sig); wait(NULL); //回收了一个僵尸子进程 } int main() { pid_t pid =fork(); if(pid<0
Qt全局定义
芒种、的博客
11-05 663
这个宏展开为数值形式 0xMMNNPP (MM = major, NN = minor, PP = patch) 表示 Qt 编译器版本,例如 Qt 编译器版本为 Qt 5.9.1,则 QT_VERSION 为 0x050901。这个宏常用于条件编译设置,根据 Qt 版本不同,编译不同的代码段。和在使用和设计共享库时,用于导入导出库的内容。debuginfowarningcritical和while(1)似,其底层使用for(;;
qt布局调用自定义函数_利用Qt中的ui文件生成PyQt5程序,自定义槽函数
weixin_33483304的博客
02-21 336
from PyQt5 importQtCore, QtGui, QtWidgetsclassUi_MainWindow(object):defsetupUi(self, MainWindow):MainWindow.setObjectName("MainWindow")MainWindow.resize(453, 372)self.centralWidget=QtWidgets.QWidget(M...
写文章

热门文章

  • C语言学习第三阶段-函数的封装 18577
  • RGB图片处理(1)——RGB概念理解 11138
  • ubuntu安装repo 9604
  • android11墓碑机制和addr2line使用 5367
  • 高通camera之对camx架构的浅析 5296

分类专栏

  • linux驱动学习(兼容安卓) 67篇
  • linux驱动专栏 7篇
  • 韦东山老师imx6ull 驱动学习 2篇
  • android-app 3篇
  • android的camera学习 11篇
  • C++ 6篇
  • 软件安装 10篇
  • 音视频 26篇
  • linux 23篇
  • STM32 16篇
  • C语言学习 26篇
  • 杂谈,没有一丁点可以学的 5篇
  • 树莓派 7篇
  • Qt学习 5篇

最新评论

  • stm32的简易小项目之震动感应灯

    25岁在线吃土: 链接:https://pan.baidu.com/s/1TgQinV0BexJKnNqRGzyNCg?pwd=o4t8

  • C语言学习第三阶段-函数的封装

    HAOKER_HAN: 感谢,解决了我部分函数封装的问题

  • 关于ubuntu打不开csdn的网站问题

    AYu~: 试过了,没有用

  • 内核中展示gpio接口的驱动

    weixin_47655925: 哥哥,想问问这个代码是模仿写出来的吗?

  • 关于ubuntu打不开csdn的网站问题

    m0_51060098: 请问具体是在哪个地方加这两行代码啊?

大家在看

  • AIGC从入门到实战:ChatGPT 是新一代的人机交互操作系统 2
  • 【Rust光年纪】探索Rust语言中的WebAssembly利器:核心功能、安装配置与API概览 783
  • 在 Arch Linux 上安装 Linux、Apache、MySQL、PHP(LAMP)堆栈的方法 964
  • 预处理详解
  • 表达式用法,ref定义响应式,v-bind指令和图片轮播结合,class和style内联样式绑定,事件监听以及内置事件处理

最新文章

  • ALSA学习(8)——DAPM详解之一:kcontrol
  • ALSA学习(7)——ASoC架构中的codec
  • ALSA学习(6)——ASoC架构中的platform
2024年5篇
2023年31篇
2022年67篇
2021年104篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永不秃头的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

PHP网站源码坪地网站制作大芬网站开发惠州标王爱联优化大运外贸网站设计坑梓阿里店铺托管松岗网页设计龙华企业网站制作丹竹头关键词排名罗湖推广网站丹竹头外贸网站制作南联模板制作双龙至尊标王西乡阿里店铺运营吉祥网站优化推广大浪网站制作南山百度网站优化排名荷坳至尊标王丹竹头网站优化大鹏seo盐田网站优化推广东莞设计网站民治网站定制光明网站推广系统双龙品牌网站设计坂田模板推广罗湖关键词排名坂田外贸网站制作西乡网页设计南联营销网站歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化