Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Searching Button Text

Searching Button Text

Scheduled Pinned Locked Moved Solved General and Desktop
epiales666
39 Posts 3 Posters 9.6k 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.
  • Epiales666E Offline
    Epiales666E Offline
    Epiales666
    wrote on last edited by
    #1

    Hey all,

    New to the forums, and hope I can be of some assistance in the near future. Thank you all for having a place for development questions.

    I am making a small program where I can just have all my executables in one place. So basically I have an icon for the exe and then the button that you click to open the program on the computer.

    Question is how can I put a search feature so that when I type into the text edit line, it will find the program I am searching for? If that makes any sense anyway...

    Thank you for any help.

    Be Blessed!
    Epiales666

    A 1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi and welcome to devnet,

      You can assign an object name to each of your button and search for it with QObject::findChild

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      Epiales666E 1 Reply Last reply
      1
      • SGaistS SGaist

        Hi and welcome to devnet,

        You can assign an object name to each of your button and search for it with QObject::findChild

        Epiales666E Offline
        Epiales666E Offline
        Epiales666
        wrote on last edited by Epiales666
        #3

        @SGaist said in Searching Button Text:

        Hi and welcome to devnet,

        You can assign an object name to each of your button and search for it with QObject::findChild

        Thanks for the quick response. I'm very new to this, so any help is good. TYTYTY.

        void MainWindow::on_winzip_2_objectNameChanged(const QString &objectName)
        {
        QPushButton *button = parentWidget->findChild<QPushButton *>("winzip");
        }

        Does that look about close? lol... It doesn't do anything but throw an error, so I guess not. winzip is the program to be open and the object name of the button is winzip. Also, I have it in a scroll area, not a widget?

        Be Blessed!
        Epiales666

        1 Reply Last reply
        0
        • Epiales666E Epiales666

          Hey all,

          New to the forums, and hope I can be of some assistance in the near future. Thank you all for having a place for development questions.

          I am making a small program where I can just have all my executables in one place. So basically I have an icon for the exe and then the button that you click to open the program on the computer.

          Question is how can I put a search feature so that when I type into the text edit line, it will find the program I am searching for? If that makes any sense anyway...

          Thank you for any help.

          A Offline
          A Offline
          ambershark
          wrote on last edited by ambershark
          #4

          @Epiales666 Assuming you have a vector of some sort holding all your buttons, here is a simple example of searching their text:

          QPushButton *findButtonByText(const QString &search)
          {
             QList<QPushButton *> buttons; // this would be your list of 
          QPushButtons
          
              foreach (QPushButton *b, buttons)
             {
                if (b->text().contains(search, Qt::CaseInsensitive))
                   return b;
             }
          
             return nullptr;
          }
          

          There are limitations to this so I wouldn't necessarily use it as is.

          1. It only returns the first button it finds that matches the text. This won't work if you have 2 buttons that contain the "search" term. It will only get the first.
          2. It searches not exact but if it contains the text, i.e. "Some Game" is the button name, and you search "game" it will match, but it will also match "me", etc.
          3. Don't just use the buttons array, it's there for example, that would be something you had to pass in or something that was declared in your class.

          This should give you enough of idea how to do it yourself. :)

          My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

          Epiales666E 1 Reply Last reply
          1
          • A ambershark

            @Epiales666 Assuming you have a vector of some sort holding all your buttons, here is a simple example of searching their text:

            QPushButton *findButtonByText(const QString &search)
            {
               QList<QPushButton *> buttons; // this would be your list of 
            QPushButtons
            
                foreach (QPushButton *b, buttons)
               {
                  if (b->text().contains(search, Qt::CaseInsensitive))
                     return b;
               }
            
               return nullptr;
            }
            

            There are limitations to this so I wouldn't necessarily use it as is.

            1. It only returns the first button it finds that matches the text. This won't work if you have 2 buttons that contain the "search" term. It will only get the first.
            2. It searches not exact but if it contains the text, i.e. "Some Game" is the button name, and you search "game" it will match, but it will also match "me", etc.
            3. Don't just use the buttons array, it's there for example, that would be something you had to pass in or something that was declared in your class.

            This should give you enough of idea how to do it yourself. :)

            Epiales666E Offline
            Epiales666E Offline
            Epiales666
            wrote on last edited by
            #5

            @ambershark

            Well, spent last hour or so messing with it and hunting online. I have this so far, but probably way off course lol...

            void MainWindow::on_lineEdit_objectNameChanged(const QString &scrollArea)
            {
            QPushButton *findButtonByText(const QString &search)
            {
            QList<QPushButton *> buttons; // this would be your list of
            QPushButton *button = new QPushButton("aaalogo");
            QPushButton *button = new QPushButton("advancedinstaller");
            QPushButton *button = new QPushButton("microsoftword");
            QPushButton *button = new QPushButton("winrar");
            QPushButton *button = new QPushButton("winzip");

                foreach (QPushButton *b, buttons)
               {
                  if (b->text().contains(search, Qt::CaseInsensitive))
                     return b;
               }
            
               return nullptr;
            }
            

            on_lineEdit_objectNameChanged - The text area for the search
            scrollarea - The holder that holds all the buttons

            Not sure if the findbuttonbytext is a name or some function. Couldn't find anything about it. I'll do some more hunting. If someone has time to respond, thank you. If not, I'm patient and will search all night to find out how to get it working if I need to lol. Thanks all!

            Be Blessed!
            Epiales666

            A 1 Reply Last reply
            0
            • Epiales666E Epiales666

              @ambershark

              Well, spent last hour or so messing with it and hunting online. I have this so far, but probably way off course lol...

              void MainWindow::on_lineEdit_objectNameChanged(const QString &scrollArea)
              {
              QPushButton *findButtonByText(const QString &search)
              {
              QList<QPushButton *> buttons; // this would be your list of
              QPushButton *button = new QPushButton("aaalogo");
              QPushButton *button = new QPushButton("advancedinstaller");
              QPushButton *button = new QPushButton("microsoftword");
              QPushButton *button = new QPushButton("winrar");
              QPushButton *button = new QPushButton("winzip");

                  foreach (QPushButton *b, buttons)
                 {
                    if (b->text().contains(search, Qt::CaseInsensitive))
                       return b;
                 }
              
                 return nullptr;
              }
              

              on_lineEdit_objectNameChanged - The text area for the search
              scrollarea - The holder that holds all the buttons

              Not sure if the findbuttonbytext is a name or some function. Couldn't find anything about it. I'll do some more hunting. If someone has time to respond, thank you. If not, I'm patient and will search all night to find out how to get it working if I need to lol. Thanks all!

              A Offline
              A Offline
              ambershark
              wrote on last edited by
              #6

              @Epiales666 Ok well you are creating new buttons inside the function I gave you which won't work. You should have those buttons already created by now. Probably stored in a QList or QVector or something?

              So basically you are going to search your list of buttons, check their text, compare it to your search term, then get the button if it matches.

              So you need an existing list of your buttons to search. You don't need to do the object name stuff because you are just searching based on text, not name. So you can drop that part.

              If you want later on I can write up a quick example that does it for you, or if you share your mainwindow code I can fix it for you later on tonight.

              My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

              Epiales666E 1 Reply Last reply
              3
              • A ambershark

                @Epiales666 Ok well you are creating new buttons inside the function I gave you which won't work. You should have those buttons already created by now. Probably stored in a QList or QVector or something?

                So basically you are going to search your list of buttons, check their text, compare it to your search term, then get the button if it matches.

                So you need an existing list of your buttons to search. You don't need to do the object name stuff because you are just searching based on text, not name. So you can drop that part.

                If you want later on I can write up a quick example that does it for you, or if you share your mainwindow code I can fix it for you later on tonight.

                Epiales666E Offline
                Epiales666E Offline
                Epiales666
                wrote on last edited by ambershark
                #7

                @ambershark said in Searching Button Text:

                @Epiales666 Ok well you are creating new buttons inside the function I gave you which won't work. You should have those buttons already created by now. Probably stored in a QList or QVector or something?

                So basically you are going to search your list of buttons, check their text, compare it to your search term, then get the button if it matches.

                So you need an existing list of your buttons to search. You don't need to do the object name stuff because you are just searching based on text, not name. So you can drop that part.

                If you want later on I can write up a quick example that does it for you, or if you share your mainwindow code I can fix it for you later on tonight.

                That would be great. Here is my mainwindow code

                #include "mainwindow.h"
                #include "ui_mainwindow.h"
                #include <QPushButton>
                #include <QtCore>
                #include <QtGui>
                
                
                MainWindow::MainWindow(QWidget *parent) :
                    QMainWindow(parent),
                    ui(new Ui::MainWindow)
                {
                    ui->setupUi(this);
                
                
                
                    setMinimumSize(QSize(357,670));
                    setMaximumSize(QSize(357,670));
                
                    this->setWindowTitle("Application Pick By ME lol");
                
                    QPixmap pix1("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/qtcommunity2.jpg");
                    ui->qtcommunity->setPixmap(pix1);
                
                    QPixmap pix2("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/qtcommunity1.jpe");
                    ui->qtcommunity1_5->setPixmap(pix2);
                
                    QPixmap pix3("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/microsoftword.jpe");
                    ui->microsoftword->setPixmap(pix3);
                
                    QPixmap pix4("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/aaalogocreator.jpe");
                    ui->aaalogocreator->setPixmap(pix4);
                
                    QPixmap pix5("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/imageready.jpe");
                    ui->imageready->setPixmap(pix5);
                
                    QPixmap pix6("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/photoshop.jpe");
                    ui->photoshop->setPixmap(pix6);
                
                    QPixmap pix7("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/advinstaller.jpg");
                    ui->advinstaller->setPixmap(pix7);
                
                    QPixmap pix8("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/advsystemcare.jpe");
                    ui->advsystemcare->setPixmap(pix8);
                
                    QPixmap pix9("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/apowersoftaudiorec.jpe");
                    ui->apowersoftaudiorec->setPixmap(pix9);
                
                    QPixmap pix10("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/autohotkey.jpe");
                    ui->autohotkey->setPixmap(pix10);
                
                    QPixmap pix11("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/blender.jpe");
                    ui->blender->setPixmap(pix11);
                
                    QPixmap pix12("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/Calendar.jpg");
                    ui->Calendar->setPixmap(pix12);
                
                    QPixmap pix13("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/Camera.jpe");
                    ui->Camera->setPixmap(pix13);
                
                    QPixmap pix14("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/Calculator.jpe");
                    ui->Calculator->setPixmap(pix14);
                
                    QPixmap pix15("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/animfx.jpe");
                    ui->animfx->setPixmap(pix15);
                
                    QPixmap pix16("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/camstudio.jpe");
                    ui->camstudio->setPixmap(pix16);
                
                    QPixmap pix17("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/cheatengine.jpe");
                    ui->cheatengine->setPixmap(pix17);
                
                    QPixmap pix18("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/clipgrab.jpe");
                    ui->clipgrab->setPixmap(pix18);
                
                    QPixmap pix19("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/codeblocks.jpe");
                    ui->codeblocks->setPixmap(pix19);
                
                    QPixmap pix20("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/daemontools.jpe");
                    ui->daemontools->setPixmap(pix20);
                
                    QPixmap pix21("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/datecracker.jpg");
                    ui->datecracker->setPixmap(pix21);
                
                    QPixmap pix22("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/chrome.jpe");
                    ui->googlechrome->setPixmap(pix22);
                
                    QPixmap pix23("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/xilsoft.jpg");
                    ui->xilsoftavi->setPixmap(pix23);
                
                    QPixmap pix24("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/xilsoft2.jpe");
                    ui->xilsoftdvd->setPixmap(pix24);
                
                    QPixmap pix25("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/winrar.jpe");
                    ui->winrar->setPixmap(pix25);
                
                    QPixmap pix26("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/winzip.jpe");
                    ui->winzip->setPixmap(pix26);
                
                    QPixmap pix27("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/autohotkey.jpe");
                    ui->troubleshooting->setPixmap(pix27);
                
                    QPixmap pix28("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/microsoftexcel.jpe");
                    ui->microsoftexcel_2->setPixmap(pix28);
                
                    QPixmap pix29("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/microsoftfrontpage.jpe");
                    ui->microsoftfrontpage_2->setPixmap(pix29);
                }
                
                MainWindow::~MainWindow()
                {
                    delete ui;
                }
                
                
                
                
                void MainWindow::on_aaalogo_clicked()
                {
                
                    system("C:/MyApps/AAAlogo.ahk");
                }
                
                void MainWindow::on_adobeimageready_clicked()
                {
                    system("C:/MyApps/adobeimageready.ahk");
                }
                
                void MainWindow::on_troubleshooting_2_clicked()
                {
                    system("C:/MyApps/TROUBLESHOOTING.ahk");
                }
                
                void MainWindow::on_photoshop_2_clicked()
                {
                    system("C:/MyApps/adobephotoshop.ahk");
                }
                
                void MainWindow::on_qtcommunity1_clicked()
                {
                    system("C:/MyApps/QTCommunity.ahk");
                }
                
                void MainWindow::on_googlechrome_2_clicked()
                {
                    system("C:/MyApps/googlechrome.ahk");
                }
                
                void MainWindow::on_advancedinstall_clicked()
                {
                    system("C:/MyApps/advancedinstall.ahk");
                }
                
                void MainWindow::on_winrar_2_clicked()
                {
                    system("C:/MyApps/winrar.ahk");
                }
                
                void MainWindow::on_winzip_2_clicked()
                {
                    system("C:/MyApps/winzip.ahk");
                }
                
                void MainWindow::on_avi2dvd_clicked()
                {
                    system("C:/MyApps/xilsoftavi2dvd.ahk");
                }
                
                void MainWindow::on_dvd2mp4_clicked()
                {
                    system("C:/MyApps/xilsoftdvd2mp4.ahk");
                }
                
                void MainWindow::on_microsoftword_2_clicked()
                {
                    system("C:/MyApps/microsoftword.ahk");
                }
                
                void MainWindow::on_microsoftexcel_clicked()
                {
                    system("C:/MyApps/microsoftexcel.ahk");
                }
                
                void MainWindow::on_microsoftfrontpage_clicked()
                {
                    system("C:/MyApps/microsoftfrontpage.ahk");
                }
                
                void MainWindow::on_pushButton_13_clicked()
                {
                    system("C:/MyApps/advancedsystemcare.ahk");
                }
                
                void MainWindow::on_animfx_2_clicked()
                {
                    system("C:/MyApps/animfx.ahk");
                }
                
                void MainWindow::on_apowersoftaudiorec_2_clicked()
                {
                    system("C:/MyApps/apowersoftaudiorec.ahk");
                }
                

                I was never able to get the code to work with the WHITE spaces... so I have to go through autohotkey program in order to run the exe programs. Frustrating to say the least. And eventually I would like to just be able to ADD the programs instead of manually having to do it, but can't do it that way if the white spaces aren't working correctly. So I'm stuck with manually adding my programs. For me I guess it works.

                Thanks again

                @ambershark edit: added code tags

                Be Blessed!
                Epiales666

                Epiales666E 1 Reply Last reply
                0
                • Epiales666E Epiales666

                  @ambershark said in Searching Button Text:

                  @Epiales666 Ok well you are creating new buttons inside the function I gave you which won't work. You should have those buttons already created by now. Probably stored in a QList or QVector or something?

                  So basically you are going to search your list of buttons, check their text, compare it to your search term, then get the button if it matches.

                  So you need an existing list of your buttons to search. You don't need to do the object name stuff because you are just searching based on text, not name. So you can drop that part.

                  If you want later on I can write up a quick example that does it for you, or if you share your mainwindow code I can fix it for you later on tonight.

                  That would be great. Here is my mainwindow code

                  #include "mainwindow.h"
                  #include "ui_mainwindow.h"
                  #include <QPushButton>
                  #include <QtCore>
                  #include <QtGui>
                  
                  
                  MainWindow::MainWindow(QWidget *parent) :
                      QMainWindow(parent),
                      ui(new Ui::MainWindow)
                  {
                      ui->setupUi(this);
                  
                  
                  
                      setMinimumSize(QSize(357,670));
                      setMaximumSize(QSize(357,670));
                  
                      this->setWindowTitle("Application Pick By ME lol");
                  
                      QPixmap pix1("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/qtcommunity2.jpg");
                      ui->qtcommunity->setPixmap(pix1);
                  
                      QPixmap pix2("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/qtcommunity1.jpe");
                      ui->qtcommunity1_5->setPixmap(pix2);
                  
                      QPixmap pix3("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/microsoftword.jpe");
                      ui->microsoftword->setPixmap(pix3);
                  
                      QPixmap pix4("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/aaalogocreator.jpe");
                      ui->aaalogocreator->setPixmap(pix4);
                  
                      QPixmap pix5("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/imageready.jpe");
                      ui->imageready->setPixmap(pix5);
                  
                      QPixmap pix6("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/photoshop.jpe");
                      ui->photoshop->setPixmap(pix6);
                  
                      QPixmap pix7("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/advinstaller.jpg");
                      ui->advinstaller->setPixmap(pix7);
                  
                      QPixmap pix8("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/advsystemcare.jpe");
                      ui->advsystemcare->setPixmap(pix8);
                  
                      QPixmap pix9("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/apowersoftaudiorec.jpe");
                      ui->apowersoftaudiorec->setPixmap(pix9);
                  
                      QPixmap pix10("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/autohotkey.jpe");
                      ui->autohotkey->setPixmap(pix10);
                  
                      QPixmap pix11("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/blender.jpe");
                      ui->blender->setPixmap(pix11);
                  
                      QPixmap pix12("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/Calendar.jpg");
                      ui->Calendar->setPixmap(pix12);
                  
                      QPixmap pix13("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/Camera.jpe");
                      ui->Camera->setPixmap(pix13);
                  
                      QPixmap pix14("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/Calculator.jpe");
                      ui->Calculator->setPixmap(pix14);
                  
                      QPixmap pix15("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/animfx.jpe");
                      ui->animfx->setPixmap(pix15);
                  
                      QPixmap pix16("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/camstudio.jpe");
                      ui->camstudio->setPixmap(pix16);
                  
                      QPixmap pix17("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/cheatengine.jpe");
                      ui->cheatengine->setPixmap(pix17);
                  
                      QPixmap pix18("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/clipgrab.jpe");
                      ui->clipgrab->setPixmap(pix18);
                  
                      QPixmap pix19("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/codeblocks.jpe");
                      ui->codeblocks->setPixmap(pix19);
                  
                      QPixmap pix20("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/daemontools.jpe");
                      ui->daemontools->setPixmap(pix20);
                  
                      QPixmap pix21("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/datecracker.jpg");
                      ui->datecracker->setPixmap(pix21);
                  
                      QPixmap pix22("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/chrome.jpe");
                      ui->googlechrome->setPixmap(pix22);
                  
                      QPixmap pix23("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/xilsoft.jpg");
                      ui->xilsoftavi->setPixmap(pix23);
                  
                      QPixmap pix24("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/xilsoft2.jpe");
                      ui->xilsoftdvd->setPixmap(pix24);
                  
                      QPixmap pix25("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/winrar.jpe");
                      ui->winrar->setPixmap(pix25);
                  
                      QPixmap pix26("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/winzip.jpe");
                      ui->winzip->setPixmap(pix26);
                  
                      QPixmap pix27("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/autohotkey.jpe");
                      ui->troubleshooting->setPixmap(pix27);
                  
                      QPixmap pix28("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/microsoftexcel.jpe");
                      ui->microsoftexcel_2->setPixmap(pix28);
                  
                      QPixmap pix29("C:/Users/dclar.DESKTOP-JTNNAGR/Desktop/test/ApplicationPicker/icons/microsoftfrontpage.jpe");
                      ui->microsoftfrontpage_2->setPixmap(pix29);
                  }
                  
                  MainWindow::~MainWindow()
                  {
                      delete ui;
                  }
                  
                  
                  
                  
                  void MainWindow::on_aaalogo_clicked()
                  {
                  
                      system("C:/MyApps/AAAlogo.ahk");
                  }
                  
                  void MainWindow::on_adobeimageready_clicked()
                  {
                      system("C:/MyApps/adobeimageready.ahk");
                  }
                  
                  void MainWindow::on_troubleshooting_2_clicked()
                  {
                      system("C:/MyApps/TROUBLESHOOTING.ahk");
                  }
                  
                  void MainWindow::on_photoshop_2_clicked()
                  {
                      system("C:/MyApps/adobephotoshop.ahk");
                  }
                  
                  void MainWindow::on_qtcommunity1_clicked()
                  {
                      system("C:/MyApps/QTCommunity.ahk");
                  }
                  
                  void MainWindow::on_googlechrome_2_clicked()
                  {
                      system("C:/MyApps/googlechrome.ahk");
                  }
                  
                  void MainWindow::on_advancedinstall_clicked()
                  {
                      system("C:/MyApps/advancedinstall.ahk");
                  }
                  
                  void MainWindow::on_winrar_2_clicked()
                  {
                      system("C:/MyApps/winrar.ahk");
                  }
                  
                  void MainWindow::on_winzip_2_clicked()
                  {
                      system("C:/MyApps/winzip.ahk");
                  }
                  
                  void MainWindow::on_avi2dvd_clicked()
                  {
                      system("C:/MyApps/xilsoftavi2dvd.ahk");
                  }
                  
                  void MainWindow::on_dvd2mp4_clicked()
                  {
                      system("C:/MyApps/xilsoftdvd2mp4.ahk");
                  }
                  
                  void MainWindow::on_microsoftword_2_clicked()
                  {
                      system("C:/MyApps/microsoftword.ahk");
                  }
                  
                  void MainWindow::on_microsoftexcel_clicked()
                  {
                      system("C:/MyApps/microsoftexcel.ahk");
                  }
                  
                  void MainWindow::on_microsoftfrontpage_clicked()
                  {
                      system("C:/MyApps/microsoftfrontpage.ahk");
                  }
                  
                  void MainWindow::on_pushButton_13_clicked()
                  {
                      system("C:/MyApps/advancedsystemcare.ahk");
                  }
                  
                  void MainWindow::on_animfx_2_clicked()
                  {
                      system("C:/MyApps/animfx.ahk");
                  }
                  
                  void MainWindow::on_apowersoftaudiorec_2_clicked()
                  {
                      system("C:/MyApps/apowersoftaudiorec.ahk");
                  }
                  

                  I was never able to get the code to work with the WHITE spaces... so I have to go through autohotkey program in order to run the exe programs. Frustrating to say the least. And eventually I would like to just be able to ADD the programs instead of manually having to do it, but can't do it that way if the white spaces aren't working correctly. So I'm stuck with manually adding my programs. For me I guess it works.

                  Thanks again

                  @ambershark edit: added code tags

                  Epiales666E Offline
                  Epiales666E Offline
                  Epiales666
                  wrote on last edited by Epiales666
                  #8

                  So you can see what I"m doing...

                  https://gyazo.com/a2269e3d2e7ba057b06d902c30ee9ca7

                  Be Blessed!
                  Epiales666

                  Epiales666E 1 Reply Last reply
                  0
                  • Epiales666E Epiales666

                    So you can see what I"m doing...

                    https://gyazo.com/a2269e3d2e7ba057b06d902c30ee9ca7

                    Epiales666E Offline
                    Epiales666E Offline
                    Epiales666
                    wrote on last edited by
                    #9

                    @ambershark

                    kk, I'm up and at em. I'll still look around for examples and getter figured out. Thanks for giving me info and ways to go about it.

                    Be Blessed!
                    Epiales666

                    1 Reply Last reply
                    0
                    • SGaistS Offline
                      SGaistS Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on last edited by
                      #10

                      Since you made your application with Designer, here's a variation on the suggestion of @ambershark using findChildren

                      QPushButton *findButtonByText(const QString &search)
                      {
                      QList<QPushButton *> buttons = findChildren<QPushButton *>();
                          foreach (QPushButton *b, buttons)
                         {
                            if (b->text().contains(search, Qt::CaseInsensitive))
                               return b;
                         }
                      
                         return nullptr;
                      }
                      

                      You can also use the QRegularExpression overload in order for the find to be more precise but that can done later as an optimisation step.

                      Interested in AI ? www.idiap.ch
                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                      Epiales666E 1 Reply Last reply
                      3
                      • SGaistS SGaist

                        Since you made your application with Designer, here's a variation on the suggestion of @ambershark using findChildren

                        QPushButton *findButtonByText(const QString &search)
                        {
                        QList<QPushButton *> buttons = findChildren<QPushButton *>();
                            foreach (QPushButton *b, buttons)
                           {
                              if (b->text().contains(search, Qt::CaseInsensitive))
                                 return b;
                           }
                        
                           return nullptr;
                        }
                        

                        You can also use the QRegularExpression overload in order for the find to be more precise but that can done later as an optimisation step.

                        Epiales666E Offline
                        Epiales666E Offline
                        Epiales666
                        wrote on last edited by
                        #11

                        @SGaist

                        Thank you much. I think the problem I'm having is getting it connected to the actual interface. When I right click on the line edit, where the text would be typed to search, and then pick go to slot? Then choose the object change? Since each button has an object name.

                        Trying it that way, it gives me local function definitions are illegal on the findtextbyname. As stated, I'm pretty new to all of this, but always wanted to learn. Thanks again for taking the time to reply to the question. You both have been very gracious.

                        Be Blessed!
                        Epiales666

                        1 Reply Last reply
                        0
                        • SGaistS Offline
                          SGaistS Offline
                          SGaist
                          Lifetime Qt Champion
                          wrote on last edited by
                          #12

                          QLineEdit::textChanged would likely be a better signal to connect to.

                          Interested in AI ? www.idiap.ch
                          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                          Epiales666E 1 Reply Last reply
                          1
                          • SGaistS SGaist

                            QLineEdit::textChanged would likely be a better signal to connect to.

                            Epiales666E Offline
                            Epiales666E Offline
                            Epiales666
                            wrote on last edited by Epiales666
                            #13

                            @SGaist

                            When I try it previous example:

                            QPushButton *on_lineEdit_textChanged(const QString &search)
                            {
                            QList<QPushButton *> buttons;

                            QPushButton ("aaalogo");
                            
                            
                                foreach (QPushButton *b, buttons)
                               {
                                  if (b->text().contains(search, Qt::CaseInsensitive))
                                     return b;
                               }
                            
                               return nullptr;
                            }
                            

                            moc_mainwindow.obj:-1: error: LNK2019: unresolved external symbol "private: void __cdecl MainWindow::on_lineEdit_textChanged(class QString const &)" (?on_lineEdit_textChanged@MainWindow@@AEAAXAEBVQString@@@Z) referenced in function "private: static void __cdecl MainWindow::qt_static_metacall(class QObject *,enum QMetaObject::Call,int,void * *)" (?qt_static_metacall@MainWindow@@CAXPEAVQObject@@W4Call@QMetaObject@@HPEAPEAX@Z)

                            When I try it your way I have to put the void findChildren(); with it...

                            void findChildren();

                            QPushButton *on_lineEdit_textChanged(const QString &search)
                            {
                            QList<QPushButton *> buttons = findChildren<QPushButton *>();

                            QPushButton ("aaalogo");
                            
                                foreach (QPushButton *b, buttons)
                               {
                                  if (b->text().contains(search, Qt::CaseInsensitive))
                                     return b;
                               }
                            
                               return nullptr;
                            

                            ERROR:

                            C:\Users\dclar.DESKTOP-JTNNAGR\Desktop\test\ApplicationPicker\mainwindow.cpp:447: error: C2059: syntax error : '>'

                            Be Blessed!
                            Epiales666

                            1 Reply Last reply
                            0
                            • SGaistS Offline
                              SGaistS Offline
                              SGaist
                              Lifetime Qt Champion
                              wrote on last edited by
                              #14

                              You are missing MainWindow:: in front of on_lineEdit_textChanged .

                              Interested in AI ? www.idiap.ch
                              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                              Epiales666E 2 Replies Last reply
                              2
                              • SGaistS SGaist

                                You are missing MainWindow:: in front of on_lineEdit_textChanged .

                                Epiales666E Offline
                                Epiales666E Offline
                                Epiales666
                                wrote on last edited by Epiales666
                                #15

                                @SGaist

                                LOL, yeah, that makes sense. Didn't notice that. tyty! As stated, I"m new to all of this. Learn Learn Learn :D

                                Error

                                cannot convert from 'QPushButton *' to 'MainWindow *'
                                Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast

                                Headed to google now... Thanks for all!

                                Be Blessed!
                                Epiales666

                                1 Reply Last reply
                                0
                                • SGaistS SGaist

                                  You are missing MainWindow:: in front of on_lineEdit_textChanged .

                                  Epiales666E Offline
                                  Epiales666E Offline
                                  Epiales666
                                  wrote on last edited by
                                  #16

                                  @SGaist

                                  error: C2440: 'return' : cannot convert from 'QPushButton *' to 'MainWindow *'
                                  Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast

                                  Sorry, didn't post all error.... Apparently something wrong with the return YAY ME lol... <sigh>

                                  Be Blessed!
                                  Epiales666

                                  A 1 Reply Last reply
                                  0
                                  • Epiales666E Epiales666

                                    @SGaist

                                    error: C2440: 'return' : cannot convert from 'QPushButton *' to 'MainWindow *'
                                    Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast

                                    Sorry, didn't post all error.... Apparently something wrong with the return YAY ME lol... <sigh>

                                    A Offline
                                    A Offline
                                    ambershark
                                    wrote on last edited by
                                    #17

                                    @Epiales666 Here's what you need for your definition:

                                    QPushButton *MainWindow::on_lineEdit_textChanged(const QString &search)

                                    You added MainWindow but removed the return type of QPushButton* which caused the new problem.

                                    My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

                                    Epiales666E 1 Reply Last reply
                                    3
                                    • A ambershark

                                      @Epiales666 Here's what you need for your definition:

                                      QPushButton *MainWindow::on_lineEdit_textChanged(const QString &search)

                                      You added MainWindow but removed the return type of QPushButton* which caused the new problem.

                                      Epiales666E Offline
                                      Epiales666E Offline
                                      Epiales666
                                      wrote on last edited by
                                      #18

                                      @ambershark

                                      Okay, I have this in my Header

                                      void MainWindow::on_lineEdit_textChanged(const QString &search);
                                      

                                      error on this:
                                      C:\Users\dclar.DESKTOP-JTNNAGR\Desktop\test\ApplicationPicker\mainwindow.h:123: warning: Function declaration MainWindow::on_lineEdit_textChanged contains extra qualification. Ignoring as signal or slot.

                                      Then I changed to add the qpushbutton back that I had removed in the cpp file. Thank you for that.

                                      QPushButton *MainWindow::on_lineEdit_textChanged(const QString &search)

                                      {
                                      QList<QPushButton *> buttons;

                                      QPushButton ("aaalogo");
                                      
                                      
                                          foreach (QPushButton *b, buttons)
                                         {
                                            if (b->text().contains(search, Qt::CaseInsensitive))
                                               return b;
                                         }
                                      
                                         return nullptr;
                                      }
                                      

                                      Errors:

                                      C:\Users\dclar.DESKTOP-JTNNAGR\Desktop\test\ApplicationPicker\mainwindow.cpp:448: error: C2556: 'QPushButton *MainWindow::on_lineEdit_textChanged(const QString &)' : overloaded function differs only by return type from 'void MainWindow::on_lineEdit_textChanged(const QString &)'

                                      C:\Users\dclar.DESKTOP-JTNNAGR\Desktop\test\ApplicationPicker\mainwindow.cpp:448: error: C2373: 'MainWindow::on_lineEdit_textChanged' : redefinition; different type modifiers

                                      Then I got to thinking, maybe I need it all in the header file? lol.... so I tried it that way and got this error:

                                      C:\Users\dclar.DESKTOP-JTNNAGR\Desktop\test\ApplicationPicker\mainwindow.h:138: warning: Function declaration MainWindow::on_lineEdit_textChanged contains extra qualification. Ignoring as signal or slot.

                                      I know I'm being dumb here, but I don't know much about coding. I am wanting to learn to do so, thus I"m a complete noob. This is a start though, and I do appreciate you both very much.

                                      Be Blessed!
                                      Epiales666

                                      A 1 Reply Last reply
                                      0
                                      • Epiales666E Epiales666

                                        @ambershark

                                        Okay, I have this in my Header

                                        void MainWindow::on_lineEdit_textChanged(const QString &search);
                                        

                                        error on this:
                                        C:\Users\dclar.DESKTOP-JTNNAGR\Desktop\test\ApplicationPicker\mainwindow.h:123: warning: Function declaration MainWindow::on_lineEdit_textChanged contains extra qualification. Ignoring as signal or slot.

                                        Then I changed to add the qpushbutton back that I had removed in the cpp file. Thank you for that.

                                        QPushButton *MainWindow::on_lineEdit_textChanged(const QString &search)

                                        {
                                        QList<QPushButton *> buttons;

                                        QPushButton ("aaalogo");
                                        
                                        
                                            foreach (QPushButton *b, buttons)
                                           {
                                              if (b->text().contains(search, Qt::CaseInsensitive))
                                                 return b;
                                           }
                                        
                                           return nullptr;
                                        }
                                        

                                        Errors:

                                        C:\Users\dclar.DESKTOP-JTNNAGR\Desktop\test\ApplicationPicker\mainwindow.cpp:448: error: C2556: 'QPushButton *MainWindow::on_lineEdit_textChanged(const QString &)' : overloaded function differs only by return type from 'void MainWindow::on_lineEdit_textChanged(const QString &)'

                                        C:\Users\dclar.DESKTOP-JTNNAGR\Desktop\test\ApplicationPicker\mainwindow.cpp:448: error: C2373: 'MainWindow::on_lineEdit_textChanged' : redefinition; different type modifiers

                                        Then I got to thinking, maybe I need it all in the header file? lol.... so I tried it that way and got this error:

                                        C:\Users\dclar.DESKTOP-JTNNAGR\Desktop\test\ApplicationPicker\mainwindow.h:138: warning: Function declaration MainWindow::on_lineEdit_textChanged contains extra qualification. Ignoring as signal or slot.

                                        I know I'm being dumb here, but I don't know much about coding. I am wanting to learn to do so, thus I"m a complete noob. This is a start though, and I do appreciate you both very much.

                                        A Offline
                                        A Offline
                                        ambershark
                                        wrote on last edited by
                                        #19

                                        @Epiales666 Ok so it sounds like you are trying to put a return type that isn't void in a slot. That won't work.

                                        So your definition needs to be:

                                        void MainWindow::on_lineEdit_textChanged(const QString &search)

                                        Now your function needs to change because it can't return buttons so you would need to do whatever you want with those buttons inside that slot, or call a subsequent function to do what you need from the slot handler. When I wrote that example function it was not supposed to be a slot but rather something you called when you need to find a button based on search text.

                                        It's ok to be new, we all were at some point. :) It does sound like you don't know C++ at all yet though. You should probably start there before tackling something like Qt. I would recommend getting a good handle on C++ before complicating it with a huge library like Qt.

                                        My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

                                        1 Reply Last reply
                                        2
                                        • A Offline
                                          A Offline
                                          ambershark
                                          wrote on last edited by ambershark
                                          #20

                                          Also give me a little bit and I'll try to write up a function that will do your search and filter for you. Now that I see your code and what you are trying to do (with that screenshot).

                                          My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

                                          1 Reply Last reply
                                          1

                                          • Login

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