Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. German
  4. Einmal Random generieren
Forum Updated to NodeBB v4.3 + New Features

Einmal Random generieren

Scheduled Pinned Locked Moved Unsolved German
27 Posts 6 Posters 7.7k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • aha_1980A Offline
    aha_1980A Offline
    aha_1980
    Lifetime Qt Champion
    wrote on last edited by
    #9
    • C++ is eine Programmiersprache

    • Qt is eine C++ Bibliothek, d.h. ist in C++ geschrieben und bietet Klassen um die Programmierung von Programmen in C++ zu erleichtern

    Du must beides zumindest in Grundzügen beherrschen. Mein C/C++ Buch war damals etwa 1200 Seiten, ein gutes Qt Buch wird die gleiche Größe erreichen. Das heißt nicht, dass du es komplett lesen muss um loszumachen, aber der Weg bis zum Experten ist schon ein Stück.

    Aber zu deiner Frage: der Konstruktor der Klasse MainWindow hat folgende Funtionssignatur: MainWindow::MainWindow(QWidget *parent).

    Innerhalb der geschweiften Klammern direkt nach dieser Signatur kannst Du die Funktion CmdPruefenNeuClicked() aufrufen.

    Grüße

    Qt has to stay free or it will die.

    1 Reply Last reply
    0
    • B Benkho

      Guten Tag,

      ich habe jetzt nach einer Grippe endlich einen Zufallsgenerator für Wörter bauen können.

      void MainWindow::CmdPruefenNeuClicked()
      {
          char const* woerter[] = { "Hallo", "Hello", "Hay" };
          int wort_anzahl = sizeof(woerter) / sizeof(woerter[0]);
      
          int zahl = (rand() % wort_anzahl);
      
      
          ui->LblAufgabe->setText(woerter[zahl]);
      }
      

      Das Problem was ich derzeit leider noch nicht lösen konnte ist, dass der bei dem Programmstart automatisch startet.
      Das zweite Problem was ich auch nicht lösen konnte ist, dass ich einer der drei Wörter speichern kann damit dieses Wort dann jedes mal wieder angezeit werden kann.
      Nach beiden sachen haben ich mehrere stunden gegooglet aber leider nichts anständiges finden können. Mir würden vieleicht auch schon den Fachbegriff reichen wie man das nennt.

      Ich hoffe ihr könnt mir da weiter helfen.

      Mit freundlichem Gruß

      Benkho

      jsulmJ Online
      jsulmJ Online
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #10

      @Benkho said in Einmal Random generieren:

      int wort_anzahl = sizeof(woerter) / sizeof(woerter[0]);

      Should be

      int wort_anzahl = sizeof(woerter) / sizeof(char*);
      

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      JonBJ 1 Reply Last reply
      0
      • B Offline
        B Offline
        Benkho
        wrote on last edited by
        #11

        Hallo,

        vielen vielen Dank ich habe es endlich geschaft das, dass Programm zum start die Begrüßunh anzeigt. Jetzt muss ich mir nur noch das mit dem Speichern ansehen.

        Ich habe ein Buch aber das wird es wohl kein gutes sein, da ich solche Sachen dort nicht gefunden habe.

        1 Reply Last reply
        0
        • jsulmJ jsulm

          @Benkho said in Einmal Random generieren:

          int wort_anzahl = sizeof(woerter) / sizeof(woerter[0]);

          Should be

          int wort_anzahl = sizeof(woerter) / sizeof(char*);
          
          JonBJ Offline
          JonBJ Offline
          JonB
          wrote on last edited by JonB
          #12

          @jsulm said in Einmal Random generieren:

          char const* woerter[] = { "Hallo", "Hello", "Hay" };
          int wort_anzahl = sizeof(woerter) / sizeof(woerter[0]);
          

          Should be

          int wort_anzahl = sizeof(woerter) / sizeof(char*);
          

          Why?

          P.S.
          @Benkho "Hay" sollte "Hey" sein! :)

          jsulmJ 1 Reply Last reply
          0
          • JonBJ JonB

            @jsulm said in Einmal Random generieren:

            char const* woerter[] = { "Hallo", "Hello", "Hay" };
            int wort_anzahl = sizeof(woerter) / sizeof(woerter[0]);
            

            Should be

            int wort_anzahl = sizeof(woerter) / sizeof(char*);
            

            Why?

            P.S.
            @Benkho "Hay" sollte "Hey" sein! :)

            jsulmJ Online
            jsulmJ Online
            jsulm
            Lifetime Qt Champion
            wrote on last edited by jsulm
            #13

            @JonB Because: sizeof(woerter) == 3 * sizeof(char*) == 12 (on 32bit platforms)
            This is dangerous if the array is empty:

            int wort_anzahl = sizeof(woerter) / sizeof(woerter[0]);
            

            https://forum.qt.io/topic/113070/qt-code-of-conduct

            JonBJ 1 Reply Last reply
            0
            • jsulmJ jsulm

              @JonB Because: sizeof(woerter) == 3 * sizeof(char*) == 12 (on 32bit platforms)
              This is dangerous if the array is empty:

              int wort_anzahl = sizeof(woerter) / sizeof(woerter[0]);
              
              JonBJ Offline
              JonBJ Offline
              JonB
              wrote on last edited by JonB
              #14

              @jsulm
              I really don't understand! From my C days I have always used a convenient macro like:

              #define ELEMENTS_IN(array) (sizeof(array) / sizeof(array[0]))
              

              which cannot be written (with one parameter) if one adopts your definition. The advantage of writing it this way is that you do not have to change your definition's sizeof(char*) if the type of element in the array is altered and you forget to do so.

              This is dangerous if the array is empty:

              Do you mean, using sizeof(woerter[0]) if woerter array contains no elements at run time? If so, you are labouring under a misapprehension! :) sizeof is evaluated at compile-time, not runtime. You can write sizeof(array[0]), or for that matter sizeof(*array), regardless of the size of the the array or whether/what elements it contains. The compiler generates the size of whatever type elements are or would be in the array from its declaration, not its runtime content.

              jsulmJ 1 Reply Last reply
              1
              • JonBJ JonB

                @jsulm
                I really don't understand! From my C days I have always used a convenient macro like:

                #define ELEMENTS_IN(array) (sizeof(array) / sizeof(array[0]))
                

                which cannot be written (with one parameter) if one adopts your definition. The advantage of writing it this way is that you do not have to change your definition's sizeof(char*) if the type of element in the array is altered and you forget to do so.

                This is dangerous if the array is empty:

                Do you mean, using sizeof(woerter[0]) if woerter array contains no elements at run time? If so, you are labouring under a misapprehension! :) sizeof is evaluated at compile-time, not runtime. You can write sizeof(array[0]), or for that matter sizeof(*array), regardless of the size of the the array or whether/what elements it contains. The compiler generates the size of whatever type elements are or would be in the array from its declaration, not its runtime content.

                jsulmJ Online
                jsulmJ Online
                jsulm
                Lifetime Qt Champion
                wrote on last edited by
                #15

                @JonB Yes, you're right

                https://forum.qt.io/topic/113070/qt-code-of-conduct

                1 Reply Last reply
                2
                • B Offline
                  B Offline
                  Benkho
                  wrote on last edited by
                  #16

                  Guten Tag,

                  ich habe mal nach den QSettings gegoogelt wie ich damit arbeite und habe anhand der dortigen angaben dieses zusammen gebaut aber irgendwie will es nicht ganz funktionieren. Also starten tut das Programm aber es speichert nichts ab.

                  srand((unsigned)time(NULL));
                      initGui();
                  
                       m_sSettingsFile = QApplication::applicationDirPath().left(1) + ":/begrüßungsettings.ini";
                       loadSettings();
                  
                      if (LblBegrueßung)
                       {
                          connect(ui->LblBegrueßung, SIGNAL(clicked()),
                          SLOT());
                       }
                      char const* woerter[] = { "Hallo", "Hello", "Hey" };
                      int wort_anzahl = sizeof(woerter) / sizeof(char*);
                  
                      int zahl = (rand() % wort_anzahl);
                  
                      ui->LblBegrueßung->setText(woerter[zahl]);
                  }
                  
                  void MainWindow::initGui()
                  {
                   LblBegrueßung = new QLabel("", this);
                   LblBegrueßung->setGeometry(0,0, 200,40);
                  }
                  
                  void MainWindow::loadSettings()
                  {
                   QSettings settings(m_sSettingsFile, QSettings::NativeFormat);
                   QString sText = settings.value("text", "").toString();
                   if (LblBegrueßung)
                   {
                    LblBegrueßung->setText(sText);
                   }
                  }
                  
                  void MainWindow::saveSettings()
                  {
                   QSettings settings(m_sSettingsFile, QSettings::NativeFormat);
                   QString sText = (LblBegrueßung) ? LblBegrueßung->text() : "";
                   settings.setValue("text", sText);
                   if (LblBegrueßung)
                   {
                    LblBegrueßung->setText(sText);
                   }
                  }
                  
                  void MainWindow::handleButton()
                  {
                   saveSettings();
                  }
                  
                  J.HilkJ 1 Reply Last reply
                  0
                  • Christian EhrlicherC Offline
                    Christian EhrlicherC Offline
                    Christian Ehrlicher
                    Lifetime Qt Champion
                    wrote on last edited by
                    #17

                    Du suchst QSettings::setValue() - QSettings::value() liest nur Daten aus (wie in der Dokumentation beschrieben

                    Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                    Visit the Qt Academy at https://academy.qt.io/catalog

                    B 1 Reply Last reply
                    0
                    • Christian EhrlicherC Christian Ehrlicher

                      Du suchst QSettings::setValue() - QSettings::value() liest nur Daten aus (wie in der Dokumentation beschrieben

                      B Offline
                      B Offline
                      Benkho
                      wrote on last edited by
                      #18

                      @Christian-Ehrlicher
                      Ich verstehe nicht genau was du meinst? Ich habe doch QSettings::setValue drinne

                      Christian EhrlicherC 1 Reply Last reply
                      0
                      • B Benkho

                        Guten Tag,

                        ich habe mal nach den QSettings gegoogelt wie ich damit arbeite und habe anhand der dortigen angaben dieses zusammen gebaut aber irgendwie will es nicht ganz funktionieren. Also starten tut das Programm aber es speichert nichts ab.

                        srand((unsigned)time(NULL));
                            initGui();
                        
                             m_sSettingsFile = QApplication::applicationDirPath().left(1) + ":/begrüßungsettings.ini";
                             loadSettings();
                        
                            if (LblBegrueßung)
                             {
                                connect(ui->LblBegrueßung, SIGNAL(clicked()),
                                SLOT());
                             }
                            char const* woerter[] = { "Hallo", "Hello", "Hey" };
                            int wort_anzahl = sizeof(woerter) / sizeof(char*);
                        
                            int zahl = (rand() % wort_anzahl);
                        
                            ui->LblBegrueßung->setText(woerter[zahl]);
                        }
                        
                        void MainWindow::initGui()
                        {
                         LblBegrueßung = new QLabel("", this);
                         LblBegrueßung->setGeometry(0,0, 200,40);
                        }
                        
                        void MainWindow::loadSettings()
                        {
                         QSettings settings(m_sSettingsFile, QSettings::NativeFormat);
                         QString sText = settings.value("text", "").toString();
                         if (LblBegrueßung)
                         {
                          LblBegrueßung->setText(sText);
                         }
                        }
                        
                        void MainWindow::saveSettings()
                        {
                         QSettings settings(m_sSettingsFile, QSettings::NativeFormat);
                         QString sText = (LblBegrueßung) ? LblBegrueßung->text() : "";
                         settings.setValue("text", sText);
                         if (LblBegrueßung)
                         {
                          LblBegrueßung->setText(sText);
                         }
                        }
                        
                        void MainWindow::handleButton()
                        {
                         saveSettings();
                        }
                        
                        J.HilkJ Online
                        J.HilkJ Online
                        J.Hilk
                        Moderators
                        wrote on last edited by
                        #19

                        @Benkho said in Einmal Random generieren:

                        begrüßungsettings.ini

                        ich währe vorsichtig mit Umlauten im Dateipfad. Existiert die Datei überhaupt ? Es sollte auf jedenfalls eine *.ini Datei existieren, auch wenn sie leer ist.


                        Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                        Q: What's that?
                        A: It's blue light.
                        Q: What does it do?
                        A: It turns blue.

                        B 1 Reply Last reply
                        1
                        • B Benkho

                          @Christian-Ehrlicher
                          Ich verstehe nicht genau was du meinst? Ich habe doch QSettings::setValue drinne

                          Christian EhrlicherC Offline
                          Christian EhrlicherC Offline
                          Christian Ehrlicher
                          Lifetime Qt Champion
                          wrote on last edited by
                          #20

                          @Benkho said in Einmal Random generieren:

                          Ich habe doch QSettings::setValue drinne

                          Korrekt, habe load und save verwechselt bzw. verscrollt :)
                          Sicher dass Du dort auch Schreibrechte hast?

                          Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                          Visit the Qt Academy at https://academy.qt.io/catalog

                          1 Reply Last reply
                          1
                          • J.HilkJ J.Hilk

                            @Benkho said in Einmal Random generieren:

                            begrüßungsettings.ini

                            ich währe vorsichtig mit Umlauten im Dateipfad. Existiert die Datei überhaupt ? Es sollte auf jedenfalls eine *.ini Datei existieren, auch wenn sie leer ist.

                            B Offline
                            B Offline
                            Benkho
                            wrote on last edited by
                            #21

                            @J.Hilk
                            das ü habe ich schon in ue geändert. Ja diese .ini datei exestiert. Ich habe auch mal mit einer .txt datei versucht aber damit will es auch nicht so ganz klappen.

                            J.HilkJ 1 Reply Last reply
                            0
                            • B Benkho

                              @J.Hilk
                              das ü habe ich schon in ue geändert. Ja diese .ini datei exestiert. Ich habe auch mal mit einer .txt datei versucht aber damit will es auch nicht so ganz klappen.

                              J.HilkJ Online
                              J.HilkJ Online
                              J.Hilk
                              Moderators
                              wrote on last edited by J.Hilk
                              #22

                              @Benkho
                              hier hast du ein funktionierende Beispiel:

                              #include <QApplication>
                              
                              #include <QString>
                              
                              #include <QPushButton>
                              #include <QLineEdit>
                              #include <QHBoxLayout>
                              
                              #include <QSettings>
                              
                              int main(int argc, char *argv[])
                              {
                                  QApplication a(argc, argv);
                              
                                  QWidget* w= new QWidget();
                                  QHBoxLayout *layout = new QHBoxLayout(w);
                              
                                  QLineEdit *le = new QLineEdit();
                                  layout->addWidget(le);
                              
                                  QPushButton * btn = new QPushButton("Save");
                                  layout->addWidget(btn);
                              
                              QObject::connect(btn, &QPushButton::clicked, [le]()->void{
                                      QSettings settings("MySettings",QSettings::NativeFormat);
                                      settings.setValue("text", le->text());
                                  });
                              
                                  btn = new QPushButton("Load");
                                  QObject::connect(btn, &QPushButton::clicked, [le]()->void{
                                      QSettings settings("MySettings",QSettings::NativeFormat);
                                      le->setText(settings.value("text").toString());
                                  });
                              
                                  layout->addWidget(btn);
                              
                              
                                  w->show();
                              
                                  return a.exec();
                              }
                              

                              Mit Save speicherst du den Text der gerade in dem LineEdit steht und mit Load wird der gespeicherte Text geladen und über das LineEdit angezeigt.


                              Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                              Q: What's that?
                              A: It's blue light.
                              Q: What does it do?
                              A: It turns blue.

                              B 1 Reply Last reply
                              2
                              • B Offline
                                B Offline
                                Benkho
                                wrote on last edited by
                                #23

                                Ok, ich habe mal versucht alles andere bei mir raus zu machen und dein Script zu verwenden aber irgendwie will es bei mir nicht funktionieren.
                                Dann habe ich versucht das Script zu verstehen und auf meinem an zu wenden oder eher zu gucken wo bei mir der fehler liegt aber auch das ist mir nicht gelungen, also alle versuche sind kläglich gescheitert.

                                Das kann doch nicht so schwer sein oder?
                                Ich guck mir das morgen nochmal genau an.

                                1 Reply Last reply
                                0
                                • J.HilkJ J.Hilk

                                  @Benkho
                                  hier hast du ein funktionierende Beispiel:

                                  #include <QApplication>
                                  
                                  #include <QString>
                                  
                                  #include <QPushButton>
                                  #include <QLineEdit>
                                  #include <QHBoxLayout>
                                  
                                  #include <QSettings>
                                  
                                  int main(int argc, char *argv[])
                                  {
                                      QApplication a(argc, argv);
                                  
                                      QWidget* w= new QWidget();
                                      QHBoxLayout *layout = new QHBoxLayout(w);
                                  
                                      QLineEdit *le = new QLineEdit();
                                      layout->addWidget(le);
                                  
                                      QPushButton * btn = new QPushButton("Save");
                                      layout->addWidget(btn);
                                  
                                  QObject::connect(btn, &QPushButton::clicked, [le]()->void{
                                          QSettings settings("MySettings",QSettings::NativeFormat);
                                          settings.setValue("text", le->text());
                                      });
                                  
                                      btn = new QPushButton("Load");
                                      QObject::connect(btn, &QPushButton::clicked, [le]()->void{
                                          QSettings settings("MySettings",QSettings::NativeFormat);
                                          le->setText(settings.value("text").toString());
                                      });
                                  
                                      layout->addWidget(btn);
                                  
                                  
                                      w->show();
                                  
                                      return a.exec();
                                  }
                                  

                                  Mit Save speicherst du den Text der gerade in dem LineEdit steht und mit Load wird der gespeicherte Text geladen und über das LineEdit angezeigt.

                                  B Offline
                                  B Offline
                                  Benkho
                                  wrote on last edited by
                                  #24

                                  @J.Hilk
                                  Hallo,

                                  ich habe heute mal ein neues Projekt in QT aufgemacht um dein Script aus zu probieren. Auch hier speichert er nichts ab wenn ich auf Save klicke oder benötige ich dafür noch eine Datei? ich weis nur nicht wie die Heißen soll, da ich keinen Datei Pfad finden konnte.

                                  Mit freundlichem Gruß

                                  Julian

                                  J.HilkJ 1 Reply Last reply
                                  0
                                  • B Benkho

                                    @J.Hilk
                                    Hallo,

                                    ich habe heute mal ein neues Projekt in QT aufgemacht um dein Script aus zu probieren. Auch hier speichert er nichts ab wenn ich auf Save klicke oder benötige ich dafür noch eine Datei? ich weis nur nicht wie die Heißen soll, da ich keinen Datei Pfad finden konnte.

                                    Mit freundlichem Gruß

                                    Julian

                                    J.HilkJ Online
                                    J.HilkJ Online
                                    J.Hilk
                                    Moderators
                                    wrote on last edited by J.Hilk
                                    #25

                                    @Benkho
                                    mmh,
                                    mein Beispiel funktioniert auf jeden Fall. Bist du unter Windows unterwegs? Weil Settings::NativeFormat ist unter windows nen Eintrag in der Regestry. Da wird dann keine Datei angelegt.

                                    Hier ist das Beispiel abgeändert, so dass es immer eine ini-Datei angelegt wird. Und außerdem wird nach Programmstart direkt der DateiPfad in das LineEdit geschrieben, damit du es direkt finden kannst.

                                    #include <QApplication>
                                    
                                    #include <QString>
                                    
                                    #include <QPushButton>
                                    #include <QLineEdit>
                                    #include <QHBoxLayout>
                                    
                                    #include <QSettings>
                                    
                                    int main(int argc, char *argv[])
                                    {
                                        QApplication a(argc, argv);
                                    
                                        QWidget* w= new QWidget();
                                        QHBoxLayout *layout = new QHBoxLayout(w);
                                    
                                        QLineEdit *le = new QLineEdit();
                                        layout->addWidget(le);
                                    
                                        QPushButton * btn = new QPushButton("Save");
                                        layout->addWidget(btn);
                                    
                                        QObject::connect(btn, &QPushButton::clicked, [le]()->void{
                                            QSettings settings("MySettings.ini",QSettings::IniFormat);
                                            settings.setValue("text", le->text());
                                        });
                                    
                                        btn = new QPushButton("Load");
                                        QObject::connect(btn, &QPushButton::clicked, [le]()->void{
                                            QSettings settings("MySettings.ini",QSettings::IniFormat);
                                            le->setText(settings.value("text").toString());
                                        });
                                    
                                        layout->addWidget(btn);
                                    
                                    
                                        QSettings settings("MySettings.ini",QSettings::IniFormat);
                                        le->setText(settings.fileName());
                                        
                                        w->show();
                                    
                                        return a.exec();
                                    }
                                    

                                    0_1542137469856_fe462659-e5cd-41d9-9ab1-194ca3f9a07f-image.png

                                    0_1542137649770_c59bf207-cbd7-49ed-a21f-263ba6f896b1-image.png


                                    Edit:Die Endung "ini" an den Dateinamen angehängt.


                                    Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                                    Q: What's that?
                                    A: It's blue light.
                                    Q: What does it do?
                                    A: It turns blue.

                                    B 1 Reply Last reply
                                    1
                                    • J.HilkJ J.Hilk

                                      @Benkho
                                      mmh,
                                      mein Beispiel funktioniert auf jeden Fall. Bist du unter Windows unterwegs? Weil Settings::NativeFormat ist unter windows nen Eintrag in der Regestry. Da wird dann keine Datei angelegt.

                                      Hier ist das Beispiel abgeändert, so dass es immer eine ini-Datei angelegt wird. Und außerdem wird nach Programmstart direkt der DateiPfad in das LineEdit geschrieben, damit du es direkt finden kannst.

                                      #include <QApplication>
                                      
                                      #include <QString>
                                      
                                      #include <QPushButton>
                                      #include <QLineEdit>
                                      #include <QHBoxLayout>
                                      
                                      #include <QSettings>
                                      
                                      int main(int argc, char *argv[])
                                      {
                                          QApplication a(argc, argv);
                                      
                                          QWidget* w= new QWidget();
                                          QHBoxLayout *layout = new QHBoxLayout(w);
                                      
                                          QLineEdit *le = new QLineEdit();
                                          layout->addWidget(le);
                                      
                                          QPushButton * btn = new QPushButton("Save");
                                          layout->addWidget(btn);
                                      
                                          QObject::connect(btn, &QPushButton::clicked, [le]()->void{
                                              QSettings settings("MySettings.ini",QSettings::IniFormat);
                                              settings.setValue("text", le->text());
                                          });
                                      
                                          btn = new QPushButton("Load");
                                          QObject::connect(btn, &QPushButton::clicked, [le]()->void{
                                              QSettings settings("MySettings.ini",QSettings::IniFormat);
                                              le->setText(settings.value("text").toString());
                                          });
                                      
                                          layout->addWidget(btn);
                                      
                                      
                                          QSettings settings("MySettings.ini",QSettings::IniFormat);
                                          le->setText(settings.fileName());
                                          
                                          w->show();
                                      
                                          return a.exec();
                                      }
                                      

                                      0_1542137469856_fe462659-e5cd-41d9-9ab1-194ca3f9a07f-image.png

                                      0_1542137649770_c59bf207-cbd7-49ed-a21f-263ba6f896b1-image.png


                                      Edit:Die Endung "ini" an den Dateinamen angehängt.

                                      B Offline
                                      B Offline
                                      Benkho
                                      wrote on last edited by
                                      #26

                                      @J.Hilk
                                      Hallo,

                                      das war der fehler, ich benutze Windows. Ich habe dein Script in mein Test Project eingefügt und zack es hat geklappt. Danach habe ich mir den unsprünglichen Code angesehen und da stand auch NativeFormat. Diesen habe ich dann in IniFormat geändert und auch das hat jetzt super geklappt. Ich werde den Code jetzt nochmal stück für stück zerlegen um nachvollziehen zu können, was die einzelnen Begriffe so machen.

                                      Vielen Dank für deine super Hilfe.

                                      Jetzt habe ich nur noch eine Frage die mir in laufe der Zeit in dem Kopf gekommen ist.
                                      Gibt es eine möglichkeit A-Z zu haben und diesen Buchstaben dann Random Symbole zu zuordnen? und geht das dann auch wenn ich in einem Textfeld z.B. Heidelbeeren eingebe dieses in der Random generierten Symbolschrift erscheint?

                                      P.S. Frag bitte nicht wieso man sowas machen sollte, aber zum üben denke ich wird das relativ interessant werden.

                                      J.HilkJ 1 Reply Last reply
                                      0
                                      • B Benkho

                                        @J.Hilk
                                        Hallo,

                                        das war der fehler, ich benutze Windows. Ich habe dein Script in mein Test Project eingefügt und zack es hat geklappt. Danach habe ich mir den unsprünglichen Code angesehen und da stand auch NativeFormat. Diesen habe ich dann in IniFormat geändert und auch das hat jetzt super geklappt. Ich werde den Code jetzt nochmal stück für stück zerlegen um nachvollziehen zu können, was die einzelnen Begriffe so machen.

                                        Vielen Dank für deine super Hilfe.

                                        Jetzt habe ich nur noch eine Frage die mir in laufe der Zeit in dem Kopf gekommen ist.
                                        Gibt es eine möglichkeit A-Z zu haben und diesen Buchstaben dann Random Symbole zu zuordnen? und geht das dann auch wenn ich in einem Textfeld z.B. Heidelbeeren eingebe dieses in der Random generierten Symbolschrift erscheint?

                                        P.S. Frag bitte nicht wieso man sowas machen sollte, aber zum üben denke ich wird das relativ interessant werden.

                                        J.HilkJ Online
                                        J.HilkJ Online
                                        J.Hilk
                                        Moderators
                                        wrote on last edited by J.Hilk
                                        #27

                                        @Benkho said in Einmal Random generieren:

                                        Vielen Dank für deine super Hilfe.

                                        aber gerne doch.

                                        Jetzt habe ich nur noch eine Frage die mir in laufe der Zeit in dem Kopf gekommen ist.
                                        Gibt es eine möglichkeit A-Z zu haben und diesen Buchstaben dann Random Symbole zu zuordnen? und geht das dann auch wenn ich in einem Textfeld z.B. Heidelbeeren eingebe dieses in der Random generierten Symbolschrift erscheint?

                                        Ich nehme an hier beziehst du dich auf Character/String-Zeichen ? und du will normale `a-Z`` - Zeichen mit anderen ersetzen?

                                        Solange die Ziel-Zeichen Teil des uni-codec sind und die Schriftart die du Verwendest diese Zeichen darstellen kann. Kannst du das relative leicht machen mit Hilfe einer Regular Expression.

                                        QChar durch Icon oder QPixmap ersetzen wiederum, wird schwer aber nicht unmöglich. In dem Fall müsstest du ein custom-QWidget erstellen, und das QPaintEvent überarbeiten, dann kannst du den string Zeichen für Zeichen abtasten und via QPainter::drawImage die einzelnen Bilder hintereinander zeichnen.


                                        Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                                        Q: What's that?
                                        A: It's blue light.
                                        Q: What does it do?
                                        A: It turns blue.

                                        1 Reply Last reply
                                        0

                                        • Login

                                        • Login or register to search.
                                        • First post
                                          Last post
                                        0
                                        • Categories
                                        • Recent
                                        • Tags
                                        • Popular
                                        • Users
                                        • Groups
                                        • Search
                                        • Get Qt Extensions
                                        • Unsolved