zoukankan      html  css  js  c++  java
  • 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()函数进行显示.

  • 相关阅读:
    IP地址加时间戳加3位随机数
    你会想造一艘船吗?
    提问的智慧
    建造者模式
    设计模式(一)
    jeesite中activiti中的流程表梳理
    如何读书、学习?
    zxing生成高容错率二维码,以及添加文字
    LVM磁盘划分
    阿里云盘扩容(SUSE Linux下)
  • 原文地址:https://www.cnblogs.com/itdef/p/5555474.html
Copyright © 2011-2022 走看看