2009年10月9日 星期五

用Qt designer自訂slots


開啟一個新專案


選擇Widget

用Qt Designer開啟ui檔


設計界面


按F4將spinbox拖到widget


打開連線設定


選左邊的訊號,再點又右邊的編輯按鈕


點擊信號槽下的加號,填入新增slot,連續二個確定回到主界面


按F3將widget拖到textEdit


按編輯按鈕


按信號下的加號,增加新的singal


選擇剛建立的signal

存檔,回到Qt creator
修改檔案
widget.h
#ifndef WIDGET_H
#define WIDGET_H

#include <QtGui/QWidget>

namespace Ui
{
class Widget;
}

class Widget : public QWidget
{
Q_OBJECT

public:
Widget(QWidget *parent = 0);
~Widget();

public slots:
void setFontSize(int);

signals:
void fontSizeChanged(qreal);

private:
Ui::Widget *ui;
};

#endif // WIDGET_H


widget.cpp
#include "widget.h"
#include "ui_widget.h"

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

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

void Widget::setFontSize(int size){
emit fontSizeChanged((qreal)size);
}



沒有留言: