day1 QT 入门与基础控件

这篇具有很好参考价值的文章主要介绍了day1 QT 入门与基础控件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

qt下载方法:https://www.yuque.com/uh1h8r/dqrma0/

目录

界面框架

种类

特点:

1、QWidget

2、QDialog

3、QMainWindow

布局管理器

输入输出控件


界面框架

种类

QWidget、QDialog、QMainWindow

特点:

1、QWidget

  • QWidget是Qt中所有用户界面控件的基类
  • 它表示一个矩形的窗口区域,可以包含其他的子控件
  • 继承自QWidget的控件可以被用户交互,并且可以包含其他的子控件。
  • QWidget可以用于创建应用程序的主窗口或者子窗口。

2、QDialog

  • QDialog是QWidget的子类,用于创建对话框。
  • 对话框是一种特殊类型的窗口,通常用于与用户进行交互,提供额外的选项或接收用户的输入。
  • QDialog提供了一些常用的对话框样式,例如消息框、文件选择框、颜色选择框等。
  • 对话框可以自定义,可以根据需要添加自己的控件和逻辑。

3、QMainWindow

  • QMainWindow是用于创建应用程序的主窗口的类,通常用于创建具有复杂布局和多个功能区域的应用程序窗口。
  • 与QWidget和QDialog不同,QMainWindow提供了一个主要的菜单栏、工具栏、状态栏和中央部件,使得创建复杂的多文档界面(MDI)应用程序更加方便。
  • 它通常用于创建大型的桌面应用程序。

布局管理器

day1 QT 入门与基础控件

头文件:

#include <QVBoxLayout> //垂直
#include <QHBoxLayout>  //水平
#include <QGridLayout>   //网状
#include <QFormLayout>   //表格

代码实现:

#if 0
    /*垂直布局实现*/
    QVBoxLayout *vbox = new QVBoxLayout;
    vbox->addWidget(le);
    vbox->addWidget(le1);
    vbox->addWidget(pb);

    this->setLayout(vbox);
#endif

#if 0
    /*水平布局实现*/
    QHBoxLayout *hbox = new QHBoxLayout;
    hbox->addWidget(le);
    hbox->addWidget(le1);
    hbox->addWidget(pb);

    this->setLayout(hbox);
#endif

#if 0
    /*网状布局实现*/
    QGridLayout *gbox = new QGridLayout;
    gbox->addWidget(le, 0, 0);
    gbox->addWidget(le1, 1, 1);
    gbox->addWidget(pb, 2, 2);

    this->setLayout(gbox);
#endif

#if 1
    /*表格布局实现*/
    QFormLayout *fbox = new QFormLayout;
    fbox->addRow("user", le);
    fbox->addRow("pawd", le1);
    fbox->addRow("", pb);

    this->setLayout(fbox);

 #endif

输入输出控件

输出控件:

day1 QT 入门与基础控件 

输入控件 :

day1 QT 入门与基础控件

头文件:

                       //输入
#include <QLineEdit>   //用于单行文本输入
#include <QTextEdit>   //多行输入
#include <QComboBox>   //选择一个选项的下拉框
#include <QTimeEdit>   //编辑时间
#include <QDial>       //用于选择一个范围内的数值,类似于旋转拨盘
#include <QSlider>     //选择一个范围内的数值,类似于滑块
#include <QScrollBar>  //用于滚动一个可滚动窗口或者试图
                       //输出
#include <QLabel>      //用于显示文本或图像
#include <QLCDNumber>  //用于显示数字,类似于数码管显示屏
#include <QProgressBar>//用于展示任务的进度,如文件下载或操作的完成情况

代码实现:文章来源地址https://www.toymoban.com/news/detail-514467.html

  //input
    le = new QLineEdit;
    te = new QTextEdit;
    cd = new QComboBox;
    cd->addItem("read");
    cd->addItem("write");
    dl = new QDial;
    sd = new QSlider;
    sd->setOrientation(Qt::Horizontal);
    sb = new QScrollBar;
    sb->setOrientation(Qt::Horizontal);
    timee = new QTimeEdit;
    QVBoxLayout *vbox = new QVBoxLayout;
    vbox->addWidget(le);
    vbox->addWidget(te);
    vbox->addWidget(cd);
    vbox->addWidget(timee);
    vbox->addWidget(dl);
    vbox->addWidget(sd);
    vbox->addWidget(sb);


    //output
    lb = new QLabel("hello");
    lb1 = new QLabel;
    QPixmap pix("1.png");
    lb1->setFixedSize(100, 100);
    lb1->setScaledContents(true);
    lb1->setPixmap(pix);
    lcd = new QLCDNumber;
    pgd = new QProgressBar;
    QVBoxLayout *vbox1 = new QVBoxLayout;
    vbox1->addWidget(lb);
    vbox1->addWidget(lb1);
    vbox1->addWidget(lcd);
    vbox1->addWidget(pgd);

    QHBoxLayout *hbox = new QHBoxLayout;
    hbox->addLayout(vbox);
    hbox->addLayout(vbox1);
    this->setLayout(hbox);

    connect(dl, SIGNAL(valueChanged(int)), lcd, SLOT(display(int)));
    connect(dl, SIGNAL(valueChanged(int)), pgd, SLOT(setValue(int)));

到了这里,关于day1 QT 入门与基础控件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++ Qt day1

      提示并输入一个字符串,统计该字符中大写、小写字母个数、数字个数、空格个数以及其他字符个数(要求使用C++风格字符串完成)

    2024年01月25日
    浏览(46)
  • QT day1简单登录界面

    widget.cpp文件代码:  widget.h文件

    2024年02月13日
    浏览(34)
  • 嵌入式:QT Day1

    源码: widge.h  widge.cpp  main.cpp

    2024年02月15日
    浏览(48)
  • QT基础入门【布局篇】消除控件之间的间隔

    layoutLeftMargin: layout内的布局距离边框左端的距离。 layoutTopMargin: layout内的布局距离边框顶端的距离。 layoutRightMargin: layout内的布局距离边框右端的距离。 layoutBottomMargin: layout内的布局距离边框底端的距离。 layoutHorizontalSpacing: layout内的水平方向内的对象(包括控件和低一级布局

    2024年01月19日
    浏览(40)
  • QT day1 (图形界面设计)

    要求:  功能函数模块  做出如下效果图:  

    2024年02月08日
    浏览(38)
  • QT---day1(QT的介绍、常用类及组件)

      思维导图:  

    2024年02月15日
    浏览(42)
  • 嵌入式学习-C++Day7&&QT Day1

    2024年02月21日
    浏览(75)
  • <云计算>Linux入门--> day1

    当我们虚拟机和shell安装后我们就可以来学习Linux的基本操作了! 首先学习Linux就必须了解虚拟机在shell的登录方法. 在虚拟机输入 ip a 这个命令,找到ip地址  接着打开shell 输入 ssh root@ip地址 进入之后我们会看到一个这样的界面 我们要了解[root @ localhost ~ ] #的意思 [root @ localhos

    2024年01月16日
    浏览(52)
  • 学习JavaSE基础-day1

    JRE 和 JDK JRE:Java运行环境,如果想要运行Java程序至少要安装JRE JDK:Java开发环境(开发工具包),如果要开发Java程序,必须安装JDK JRE = JVM + 核心类库 JDK = JRE + 开发工具包 JDK JRE JVM 关系如图所示:     JDK下载地址:www.oracle.com 配置Path环境变量:希望可以在命令窗口的任意的

    2024年02月07日
    浏览(102)
  • Angular基础---HelloWorld---Day1

    1. 创建Angular 项目 step1: ng new HelloWorldAngular --no-standalone --routing --ssr=false step2: 在VS code 中打开项目文件夹,并在terminal中执行npm start启动项目 step3: 点击terminal中的local 的网址,或copy 到浏览器中,即可看到angular 入口页面 step4: 启动完项目,如果想进行简单的服务操作,输

    2024年03月12日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包