概述
经过一天的学习,对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学习(二)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复