码迷,mamicode.com
首页 > 其他好文 > 详细

2000行之widget练习之二

时间:2017-05-29 18:25:49      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:text   obj   sig   signal   []   .exe   gre   label   utf-8   

//mydialog.h
#ifndef MYDIALOG_H
#define MYDIALOG_H

#include <QDialog>

namespace Ui {
    class MyDialog;
}

class MyDialog : public QDialog
{
    Q_OBJECT

public:
    explicit MyDialog(QWidget *parent = 0);
    ~MyDialog();

private slots:
    void on_pushButton_clicked();
signals:
    void dlgReturn(int); //自定义的信号

private:
    Ui::MyDialog *ui;
};

#endif // MYDIALOG_H
//widget.h
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

namespace Ui {
    class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();
private slots:
    void showValue(int value);
private:
    Ui::Widget *ui;
};

#endif // WIDGET_H
//mydialog.cpp
#include "mydialog.h"
#include "ui_mydialog.h"

MyDialog::MyDialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::MyDialog)
{
    ui->setupUi(this);
}

MyDialog::~MyDialog()
{
    delete ui;
}

// 确定按钮
void MyDialog::on_pushButton_clicked()
{
    // 获取输入的数值
    int value = ui->spinBox->value();
    // 发射信号
    emit dlgReturn(value);
    // 关闭对话框
    close();
}
//widget.cpp
#include "widget.h"
#include "ui_widget.h"
#include "mydialog.h"

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);

    // 创建对话框
    MyDialog *dlg = new MyDialog(this);
    // 将对话框中的自定义信号与主界面中的自定义槽函数进行关联
    connect(dlg,SIGNAL(dlgReturn(int)),this,SLOT(showValue(int)));
    // 显示对话框
    dlg->show();
}

Widget::~Widget()
{
    delete ui;
}

// 自定义槽函数
void Widget::showValue(int value)
{
    ui->label->setText(tr("获取的值是:%1").arg(value));
}
//main.cpp
#include <QApplication>
#include "widget.h"
#include <QTextCodec>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    //QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
    Widget w;
    w.show();

    return a.exec();
}

 

2000行之widget练习之二

标签:text   obj   sig   signal   []   .exe   gre   label   utf-8   

原文地址:http://www.cnblogs.com/qrxqrx/p/6918515.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!