作者dueseven (dueseven)
看板C_and_CPP
標題Re: [問題] c語言程式求助
時間Wed Oct 14 23:36:47 2009
那我也來補一個 QT 版...
可以跨平台喔....^^
//------------------------------------------------
// qweightconverter.h
//------------------------------------------------
#ifndef QWEIGHTCONVERTER_H
#define QWEIGHTCONVERTER_H
#include <QWidget>
class QLabel;
class QLineEdit;
class QWeightConverter : public QWidget
{
Q_OBJECT
public:
QWeightConverter();
private:
QLabel *label1;
QLabel *label2;
QLineEdit *inputEdit;
QLineEdit *outputEdit;
private slots:
void process(const QString &in);
};
#endif // QWEIGHTCONVERTER_H
//--------------------------------------------
// qweightconverter.cpp
//--------------------------------------------
#include "qweightconverter.h"
#include <QLineEdit>
#include <QIntValidator>
#include <QGridLayout>
#include <QLabel>
#include <QRegExp>
#include <QRegExpValidator>
#include <QString>
QWeightConverter::QWeightConverter()
{
this->setWindowTitle("KG -> Pound");
this->resize(300,200);
QRegExp regExp("[1-9][0-9]{0,1}");
label1 = new QLabel(("Input your weight (KG)"));
label2 = new QLabel(("Your weight is (Pounds)"));
inputEdit = new QLineEdit;
inputEdit->setValidator(new QRegExpValidator(regExp, this));
outputEdit = new QLineEdit;
outputEdit->setReadOnly(true);
QGridLayout *layout = new QGridLayout;
layout->addWidget(label1,0,0);
layout->addWidget(inputEdit, 0, 1);
layout->addWidget(label2,1,0);
layout->addWidget(outputEdit, 1,1);
this->setLayout(layout);
connect(inputEdit, SIGNAL(textChanged(QString)), this,
SLOT(process(QString)));
}
void QWeightConverter::process(const QString &in)
{
if (inputEdit->hasAcceptableInput()) {
float w = in.toFloat();
QString tmp;
tmp.setNum(w/0.454,'F',4);
outputEdit->setText(tmp);
} else {
outputEdit->setText("");
}
}
//-----------------------------------------------------
// main.cpp
//-----------------------------------------------------
#include <QApplication>
#include "qweightconverter.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWeightConverter *converter = new QWeightConverter;
converter->show();
return app.exec();
}
//------------------------------------------------------
// WeightConvert.pro
//------------------------------------------------------
SOURCES += main.cpp \
qweightconverter.cpp
HEADERS += qweightconverter.h
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.168.29.85