• qt学习(二) buttong layout spinbox slider 示例


    开启qt5 creator

    新建项目 qt widgets

    改写main.cpp

    #include "mainwindow.h"
    #include <QApplication>
    #include <QPushButton>
    
    int main(int argc, char *argv[])
    {
        QApplication app(argc, argv);
        QPushButton* button = new QPushButton("Quit");
        QObject::connect(button,SIGNAL(clicked()),
                         &app,SLOT(quit()));
        button->show();
    
        return app.exec();
    }
    

      效果图

    代码中 创建一个button按钮 而且是在new新建于堆中 并没有delete 这是因为程序结束后内存自然会由系统回收 示例代码是可以忽略这一点点内存泄漏的

    然后通过connect函数将按钮的点击动作clicked()与整个框架application的退出动作quit()进行关联连接

    最后的效果就是点击了按钮 整个程序就推出了

    //========================================================

    开启qt5 creator

    新建项目 qt widgets

    改写main.cpp

    #include "mainwindow.h"
    #include <QApplication>
    #include <QHBoxLayout>
    #include <QSlider>
    #include <QSpinBox>
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        QWidget * window = new QWidget;
        window->setWindowTitle("Enter your age");
    
        QSpinBox* spinBox = new QSpinBox;
        QSlider* slider = new QSlider(Qt::Horizontal);
        spinBox->setRange(0,130);
        slider->setRange(0,130);
    
        QObject::connect(spinBox,SIGNAL(valueChanged(int)),
                         slider,SLOT(setValue(int)));
        QObject::connect(slider,SIGNAL(valueChanged(int)),
                         spinBox,SLOT(setValue(int)));
        spinBox->setValue(35);
    
        QHBoxLayout* layout = new QHBoxLayout;
        layout->addWidget(spinBox);
        layout->addWidget(slider);
        window->setLayout(layout);
    
        window->show();
    
        return a.exec();
    }
    

      效果图


    代码首先创建一个QWidget 并设置了该QWidget的标题title 为“Enter your age”.

    设置了两个组件 一个spinbox 一个slider 并且使用connect将两个组件的值得显示方式关联一起。

    将两个组件放入到layout 再将layout放入到QWidget  并调用show()函数进行显示.

  • 相关阅读:
    输入框只能输入正数且保留小数后2位数字,正则
    vscode安装ESlint配置
    kubreretes && docker 模块
    python3安装sqlite3库
    dokcerfile 制作Msql镜像
    前端模板
    Python SMTP发送邮件
    k8s-api
    openpyxl
    k8s mysql主从
  • 原文地址:https://www.cnblogs.com/itdef/p/5555474.html
Copyright © 2020-2023  润新知