zoukankan      html  css  js  c++  java
  • Qt入门——第一次写的Qt程序

    在win10系统中结合visual studio配置Qt开发环境可以参考这篇博文:https://blog.csdn.net/yb844154912/article/details/50929327

    在安装vs-addin的过程中可能会出现cannot install QtQmlClassifier2013.vsix! error code: 1006错误,这时候选择继续安装即可。在环境变量配置结束之后,需要重启visual studio。

        创建第一个Qt项目时,在visual studio中依次点击 文件-->新建-->项目,选择Qt Application,输入项目名称,接着按照默认的来就可以了。这样新建的项目会有一点自动生成的代码,在Source Files里面打开main.cpp可以看到

    #include "helloqt.h"
    #include <QtWidgets/QApplication>

    int main(int argc, char *argv[])
    {
    QApplication a(argc, argv);
    HelloQt w;
    w.show();
    return a.exec();
    }
    直接运行的话,会生成一个空白的程序界面面板

     

    下面是一个稍微复杂一点的例子,实现了一个滑动条的功能

    主要的代码如下所示

    #include<QApplication>
    #include<QHBoxLayout>
    #include<QSlider>
    #include<qspinbox.h>

    int main(int argc, char *argv[]){
    QApplication app(argc, argv);

    QWidget *window = new QWidget;//程序的主窗口
    window->setWindowTitle("Slider");

    QSpinBox *spinBox = new QSpinBox;
    QSlider *slider = new QSlider(Qt::Horizontal);//滑动条
    spinBox->setRange(0, 100);
    slider->setRange(0, 100);

    //将spinBox与slider关联起来,使其保持同步改变
    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 app.exec();

    }
    运行的界面效果如下所示:

     

    这个程序中实现了一个滑动条和一个SpinBox之间的数值的同步变动,这是使用connect将它们关联起来的。

    目前几个Qt中常用的类的继承关系如下图所示


  • 相关阅读:
    有return的情况下try_catch_finally的执行顺序
    java异常处理之try_catch_finally
    乔布简历
    策略模式--经典详细分析
    观察者模式(Observer Pattern)(二):HeadFirst中的气象站的实现
    luogu2444 [POI2000]病毒
    bzoj3172 luogu3966 [TJOI2013]单词
    luogu3808 luogu3796 AC自动机(简单版) AC自动机(加强版)
    vijos1459 车展
    poj2985 The k-th Largest Group
  • 原文地址:https://www.cnblogs.com/sea520/p/12583110.html
Copyright © 2011-2022 走看看