📄 cel.cpp
字号:
#include <QPushButton>#include <QSlider>#include <QLabel>#include <QLCDNumber>#include <QVBoxLayout>#include <QHBoxLayout>#include <QApplication>#include <QCopChannel>#include <QDataStream>#include <QByteArray>#include "Cel.h"Cel::Cel() : QWidget(){ createScreen(); listenChannel();}void Cel::createScreen(){ QPushButton* quitBtn = new QPushButton("Quit"); createCel(); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addWidget(quitBtn); mainLayout->addLayout(celLayout); setLayout(mainLayout); slider->setFocus(); connect(quitBtn, SIGNAL(clicked()), qApp, SLOT(quit())); setWindowTitle("Celsius");}void Cel::createCel(){ slider = new QSlider(Qt::Vertical); slider->setRange(0, 100); slider->setValue(0); slider->setTickPosition(QSlider::TicksLeft); QLabel* celLabel = new QLabel("0"); celLayout = new QHBoxLayout; celLayout->addWidget(celLabel, 0, Qt::AlignRight); celLayout->addWidget(slider, 0, Qt::AlignLeft); celLayout->setSpacing(10); connect(slider, SIGNAL(valueChanged(int)), celLabel, SLOT(setNum(int))); connect(slider, SIGNAL(valueChanged(int)), this, SLOT(sendMsg(int)));}void Cel::fahToCel(int fahNum){ int celNum = (fahNum - 32) * 5 / 9; slider->setValue(celNum);}void Cel::listenChannel(){ QCopChannel *channel = new QCopChannel("/System/Temperature", this); connect(channel, SIGNAL(received(const QString &, const QByteArray &)), this, SLOT(handleMsg(const QString &, const QByteArray &)));}void Cel::handleMsg(const QString &message, const QByteArray &data){ QDataStream in(data); if (message == "ConvertFahToCel(int)") { int fahNum; in >> fahNum; fahToCel(fahNum); }}void Cel::sendMsg(int celNum){ QByteArray data; QDataStream out(&data, QIODevice::WriteOnly); out << celNum; QCopChannel::send("/System/Temperature", "ConvertCelToFah(int)", data);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -