Advertisement
Guest User

qt-signal-problem expression cannot be used as a function

a guest
Mar 21st, 2016
333
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.58 KB | None | 0 0
  1. #ifndef SETTINGWIDGET_H
  2. #define SETTINGWIDGET_H
  3.  
  4. #include <QWidget>
  5. #include <QLabel>
  6. #include <QCheckBox>
  7. #include <QSpinBox>
  8. #include <QScrollArea>
  9. #include <QStringList>
  10. #include <QLineEdit>
  11. #include <QPlainTextEdit>
  12. #include <QSettings>
  13. #include <QGridLayout>
  14. #include <qdebug.h>
  15. #include <QComboBox>
  16. #include <QPushButton>
  17.  
  18. class ledSetting : public QWidget{
  19.     Q_OBJECT
  20. public:
  21.     int id;
  22.     QCheckBox *dimable;
  23.     QLineEdit *name;
  24.     explicit ledSetting(int id,QWidget *parent=0):QWidget(parent){
  25.         QSettings settings("energiewandler", "settingwidget");
  26.         dimable = new QCheckBox("Dim");
  27.         dimable->setChecked(settings.value("settingsLed"+QString::number(id)+"Dimmable",QVariant(true)).toBool());
  28.         name=new QLineEdit();
  29.         name->setText(settings.value("LED"+QString::number(id)+"Label",QVariant("LED"+QString::number(id))).toString());
  30.         name->setPlaceholderText("Put a name for your led inside...");
  31.         QGridLayout *innerLayout = new QGridLayout();
  32.         innerLayout->addWidget(name,0,0);
  33.         innerLayout->addWidget(dimable,0,1);
  34.         this->setLayout(innerLayout);
  35.         //appSettings.setValue("settingsLed2Dimmable",ui->settingsDimmableLED2->isChecked());
  36.         //onSettingsLedDim(appSettings.value("dimmableLedCount",2).toInt());
  37.         connect(dimable,SIGNAL(clicked(bool)),this,SLOT(onDim()));
  38.         connect(name,SIGNAL(textChanged(QString)),this,SLOT(onName()));
  39.     }
  40.  
  41. public slots:
  42.     void onDim(){
  43.         QSettings settings("energiewandler", "settingwidget");
  44.         settings.setValue("settingsLed"+QString::number(id)+"Dimmable",dimable->isChecked());
  45.     }
  46.  
  47.     void onName(){
  48.         QSettings settings("energiewandler", "settingwidget");
  49.         settings.setValue("LED"+QString::number(id)+"Label",name->text());
  50.     }
  51. };
  52.  
  53. class settingWidget : public QWidget
  54. {
  55.     Q_OBJECT
  56. private slots:
  57.     void onTerminalCompleter();
  58.    void onNrOfLeds22();
  59.  
  60. public:
  61.     explicit settingWidget(QWidget *parent = 0);
  62.     QSpinBox *nrOfLeds;
  63.     ledSetting *led1;
  64.     ledSetting *led2;
  65.     ledSetting *led3;
  66.     QPlainTextEdit *terminalCompleter;
  67.     QComboBox *interfaces,*devices;
  68.     QPushButton *refresh,*connect;
  69.  
  70.  
  71. };
  72.  
  73. #endif // SETTINGWIDGET_H
  74.  
  75.  
  76. /*
  77. ******************************************
  78. settingwidget.cpp
  79. ******************************************
  80. */
  81.  
  82. #include "settingwidget.h"
  83.  
  84. settingWidget::settingWidget(QWidget *parent) : QWidget(parent) {
  85.   QSettings settings("energiewandler", "settingwidget");
  86.   nrOfLeds = new QSpinBox();
  87.   nrOfLeds->setValue(settings.value("dimmableLedCount", QVariant(2)).toInt());
  88.   QGridLayout *innerLayout = new QGridLayout();
  89.   innerLayout->addWidget(new QLabel("Nr of leds: "), 0, 0);
  90.   innerLayout->addWidget(nrOfLeds, 0, 1);
  91.   int nextNr = 1;
  92.   if (nrOfLeds->value() > 0) {
  93.     led1 = new ledSetting(1);
  94.     innerLayout->addWidget(led1, 1, 0);
  95.     nextNr++;
  96.   }
  97.   if (nrOfLeds->value() > 1) {
  98.     led2 = new ledSetting(2);
  99.     innerLayout->addWidget(led2, 2, 0);
  100.     nextNr++;
  101.   }
  102.   if (nrOfLeds->value() > 2) {
  103.     led3 = new ledSetting(3);
  104.     innerLayout->addWidget(led3, 3, 0);
  105.     nextNr++;
  106.   }
  107.   terminalCompleter = new QPlainTextEdit(parent);
  108.  
  109.   terminalCompleter->setPlaceholderText("Place your completments for the "
  110.                                         "terminal in a list here. Every line "
  111.                                         "is a completment.");
  112.   QString line;
  113.   QSettings tSettings("energiewandler", "terminalwidget");
  114.   foreach (line, tSettings.value("terminalCompleter").toStringList()) {
  115.     terminalCompleter->appendPlainText(line);
  116.   }
  117.   innerLayout->addWidget(new QLabel("Terminal-Completer"), nextNr, 0);
  118.   innerLayout->addWidget(terminalCompleter, nextNr + 1, 0);
  119.  
  120.   // connect(terminalCompleter,SIGNAL(textChanged()),this,SLOT(onTerminalCompleter()));
  121.   QScrollArea *scroll = new QScrollArea();
  122.   scroll->setLayout(innerLayout);
  123.   connect(terminalCompleter, SIGNAL(textChanged()), this, SLOT(onNrOfLeds22()));
  124.   connect(this->nrOfLeds, SIGNAL(valueChanged(int)), this,
  125.           SLOT(onNrOfLeds22()));
  126.   QGridLayout *outerLayout = new QGridLayout();
  127.   outerLayout->addWidget(scroll, 0, 0);
  128.  
  129.   this->setLayout(outerLayout);
  130. }
  131.  
  132. void settingWidget::onNrOfLeds22() {
  133.   QSettings settings("energiewandler", "settingwidget");
  134.   settings.setValue("dimmableLedCount", nrOfLeds->value());
  135. }
  136.  
  137. void settingWidget::onTerminalCompleter() {
  138.   QSettings settings("energiewandler", "terminalwidget");
  139.   settings.setValue("terminalCompleter",
  140.                     terminalCompleter->toPlainText().split("\n"));
  141. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement