我是靠谱客的博主 迷路水蜜桃,最近开发中收集的这篇文章主要介绍Qt学习(二),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

经过一天的学习,对Qt的一些基本控件和信号与槽有了一定的了解。做了一个工程,其中实现了若干功能。

先放结果图:

代码如下:

头文件 test1.h

#ifndef TEST1_H
#define TEST1_H

#include <QDialog>
#include <QMainWindow>
#include <QLabel>
#include <QLineEdit>
#include <QSize>
#include <QTextEdit>
#include <QPushButton>
#include <QCheckBox>
#include <QComboBox>
#include <QGridLayout>
#include <QUrl>
#include <QDesktopServices>
#include <QSlider>
#include <QGridLayout>
#include <QDebug>

class Test1 : public QDialog
{
    Q_OBJECT

public:
    Test1(QWidget *parent = 0);
    ~Test1();
private:
    QLabel *_label1;
    QLabel *_label2;
    QLabel *_label3;

    QLineEdit *_lineEdit;
    QTextEdit *_textEdit;

    QPushButton *_button1;
    QPushButton *_button2;
    QCheckBox *_button3;
    QComboBox *_combo;


    QSlider *_pSlider;
    QGridLayout *_mainLayout;

private slots:
    void openUrl(QString url);
    void printf_s(void);
    void _pSlider_message(void);
};

#endif // TEST1_H

源文件 main.cpp

#include "test1.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Test1 w;
    w.show();

    return a.exec();
}

源文件 test1.cpp

#include "test1.h"

Test1::Test1(QWidget *parent)
    : QDialog(parent)
{
    _label1 = new QLabel(this);
    _label1 = new QLabel( "<a href = http://www.baidu.com >baidu</a>", this );
    connect( _label1, SIGNAL(linkActivated(QString)), this, SLOT(openUrl(QString)) );
    _mainLayout = new QGridLayout(this);
    _mainLayout->addWidget(_label1,0,0);

    _lineEdit = new QLineEdit(this);
    _mainLayout->addWidget(_lineEdit,1,0);
    _button1 = new QPushButton(this);
    _button1->setText(tr("确定"));
    _mainLayout->addWidget(_button1,1,1);

    _textEdit = new QTextEdit(this);
    _mainLayout->addWidget(_textEdit,2,0);

    _button2 = new QPushButton(this);
    _button2->setText(tr("button"));
    _mainLayout->addWidget(_button2,3,0);

    _button3 = new QCheckBox(this);
    _button3->setText(tr("checkbox"));
    _mainLayout->addWidget(_button3,4,0);

    _combo = new QComboBox(this);
    connect(_combo, SIGNAL(currentIndexChanged(QString)), this, SLOT(printf_s()));
    _combo->addItem("第一题");
    _combo->addItem("第二题");
    _combo->addItem("第三题");
    _mainLayout->addWidget(_combo,5,0);

    int nMin = 0;
    int nMax = 100;
    int nSingleStep = 2;
    _pSlider = new QSlider(this);
    _pSlider->setOrientation(Qt::Horizontal);
    _pSlider->setMinimum(nMin);
    _pSlider->setMaximum(nMax);
    _pSlider->setSingleStep(nSingleStep);
    _mainLayout->addWidget(_pSlider,6,0);
    connect(_pSlider, SIGNAL(valueChanged(int)), this, SLOT(_pSlider_message()));
}

Test1::~Test1()
{

}

void Test1::openUrl(QString url)
{
    QDesktopServices::openUrl(QUrl(url));
}

void Test1::printf_s()
{
    if(_combo->currentIndex() == 0) _textEdit->setText(tr("第一题"));
    else if(_combo->currentIndex() == 1) _textEdit->setText(tr("第二题"));
    else if(_combo->currentIndex() == 2) _textEdit->setText(tr("第三题"));
    else _textEdit->setText("");
}

void Test1::_pSlider_message()
{
    qDebug() << _pSlider->value();
}

 

最后

以上就是迷路水蜜桃为你收集整理的Qt学习(二)的全部内容,希望文章能够帮你解决Qt学习(二)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部