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. Active window
Forum Updated to NodeBB v4.3 + New Features

Active window

Scheduled Pinned Locked Moved Unsolved General and Desktop
14 Posts 2 Posters 3.6k Views 1 Watching
  • 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.
  • T Offline
    T Offline
    TETTRA
    wrote on 5 Jun 2017, 12:11 last edited by
    #1

    The window is open, but the button that called it does not work. Until the window disappears.

    M 1 Reply Last reply 5 Jun 2017, 12:12
    0
    • T TETTRA
      5 Jun 2017, 12:11

      The window is open, but the button that called it does not work. Until the window disappears.

      M Offline
      M Offline
      mrjj
      Lifetime Qt Champion
      wrote on 5 Jun 2017, 12:12 last edited by
      #2

      @TETTRA
      can you please show the code ?

      T 1 Reply Last reply 5 Jun 2017, 12:17
      1
      • M mrjj
        5 Jun 2017, 12:12

        @TETTRA
        can you please show the code ?

        T Offline
        T Offline
        TETTRA
        wrote on 5 Jun 2017, 12:17 last edited by
        #3

        @mrjj Call:

               //new
                newFile = new QAction (tr("New"),this);
                  newFile->setShortcut(QKeySequence::New);
                  connect(newFile,&QAction::triggered,this, &MainWindow::newfile);
                  file->addAction(newFile);
        

        slot:

        void MainWindow::newfile(){
            newF *newf = new newF();
            newf->show();
        }
        
        1 Reply Last reply
        0
        • M Offline
          M Offline
          mrjj
          Lifetime Qt Champion
          wrote on 5 Jun 2017, 12:44 last edited by
          #4

          looks fine

          So MainWindow::newfile is called ?

          but newF is not shown or ?

          T 1 Reply Last reply 5 Jun 2017, 12:50
          1
          • M mrjj
            5 Jun 2017, 12:44

            looks fine

            So MainWindow::newfile is called ?

            but newF is not shown or ?

            T Offline
            T Offline
            TETTRA
            wrote on 5 Jun 2017, 12:50 last edited by TETTRA 6 May 2017, 12:51
            #5

            @mrjj Everything works. Just tell me how to do it the way I asked? if you know

            M 1 Reply Last reply 5 Jun 2017, 12:57
            0
            • T TETTRA
              5 Jun 2017, 12:50

              @mrjj Everything works. Just tell me how to do it the way I asked? if you know

              M Offline
              M Offline
              mrjj
              Lifetime Qt Champion
              wrote on 5 Jun 2017, 12:57 last edited by mrjj 6 May 2017, 13:00
              #6

              @TETTRA
              I really dont understand what u ask, else i would tell you.

              void MainWindow::newfile() does nothing but showing the dialog so i dont understand your sentence

              "the window is open, but the button that called it does not work. Until the window disappears."

              But its not a button that calls it, its the QAction

              So i do not know what is not working.

              T 1 Reply Last reply 5 Jun 2017, 13:07
              2
              • M mrjj
                5 Jun 2017, 12:57

                @TETTRA
                I really dont understand what u ask, else i would tell you.

                void MainWindow::newfile() does nothing but showing the dialog so i dont understand your sentence

                "the window is open, but the button that called it does not work. Until the window disappears."

                But its not a button that calls it, its the QAction

                So i do not know what is not working.

                T Offline
                T Offline
                TETTRA
                wrote on 5 Jun 2017, 13:07 last edited by
                #7

                @mrjj In various programs there is a button that creates a new window in which you can for example draw and when creating this window a window appears that requests additional parameters (name, etc.) and that these windows would not have much, the button that called this window Is turned off. Like this.

                M 1 Reply Last reply 5 Jun 2017, 13:10
                0
                • T TETTRA
                  5 Jun 2017, 13:07

                  @mrjj In various programs there is a button that creates a new window in which you can for example draw and when creating this window a window appears that requests additional parameters (name, etc.) and that these windows would not have much, the button that called this window Is turned off. Like this.

                  M Offline
                  M Offline
                  mrjj
                  Lifetime Qt Champion
                  wrote on 5 Jun 2017, 13:10 last edited by
                  #8

                  @TETTRA said in Active window:

                  the button that called this window Is turned off

                  What you mean ? Like if u click it once, the window open. And the button is grey so u cant click on it again?
                  (before windows is closed ?)
                  is it to prevent to get multiple windows if u click many times on the button?

                  T 1 Reply Last reply 5 Jun 2017, 13:15
                  0
                  • M mrjj
                    5 Jun 2017, 13:10

                    @TETTRA said in Active window:

                    the button that called this window Is turned off

                    What you mean ? Like if u click it once, the window open. And the button is grey so u cant click on it again?
                    (before windows is closed ?)
                    is it to prevent to get multiple windows if u click many times on the button?

                    T Offline
                    T Offline
                    TETTRA
                    wrote on 5 Jun 2017, 13:15 last edited by
                    #9

                    @mrjj said in Active window:

                    What you mean ? Like if u click it once, the window open. And the button is grey so u cant click on it again?
                    (before windows is closed ?)
                    is it to prevent to get multiple windows if u click many times on the button?

                    Yes

                    M 1 Reply Last reply 5 Jun 2017, 13:18
                    0
                    • T TETTRA
                      5 Jun 2017, 13:15

                      @mrjj said in Active window:

                      What you mean ? Like if u click it once, the window open. And the button is grey so u cant click on it again?
                      (before windows is closed ?)
                      is it to prevent to get multiple windows if u click many times on the button?

                      Yes

                      M Offline
                      M Offline
                      mrjj
                      Lifetime Qt Champion
                      wrote on 5 Jun 2017, 13:18 last edited by
                      #10

                      @TETTRA
                      You can use
                      button->setEnabled(false);
                      when you open dialog.

                      You must then catch when dialog closes and set button back to active.

                      T 1 Reply Last reply 5 Jun 2017, 13:26
                      2
                      • M mrjj
                        5 Jun 2017, 13:18

                        @TETTRA
                        You can use
                        button->setEnabled(false);
                        when you open dialog.

                        You must then catch when dialog closes and set button back to active.

                        T Offline
                        T Offline
                        TETTRA
                        wrote on 5 Jun 2017, 13:26 last edited by TETTRA 6 May 2017, 13:26
                        #11

                        @mrjj

                        I tried, but I did not succeed, you can write.

                        M 1 Reply Last reply 5 Jun 2017, 14:05
                        0
                        • T TETTRA
                          5 Jun 2017, 13:26

                          @mrjj

                          I tried, but I did not succeed, you can write.

                          M Offline
                          M Offline
                          mrjj
                          Lifetime Qt Champion
                          wrote on 5 Jun 2017, 14:05 last edited by mrjj 6 May 2017, 14:27
                          #12

                          @TETTRA
                          What part did not work?

                          Here is sample using QDialog and a custom signal.
                          https://www.dropbox.com/s/7sjc6yz3zne395v/floatingdialog.zip?dl=0

                          T 1 Reply Last reply 6 Jun 2017, 18:26
                          2
                          • M mrjj
                            5 Jun 2017, 14:05

                            @TETTRA
                            What part did not work?

                            Here is sample using QDialog and a custom signal.
                            https://www.dropbox.com/s/7sjc6yz3zne395v/floatingdialog.zip?dl=0

                            T Offline
                            T Offline
                            TETTRA
                            wrote on 6 Jun 2017, 18:26 last edited by
                            #13

                            @mrjj I'm sorru buet i really don't understand.

                            #include "newf.h"
                            #include "ui_newf.h"
                            #include <QWidget>
                            #include <QHBoxLayout>
                            #include <QVBoxLayout>
                            #include <QPushButton>
                            
                            #include "mainwindow.h"
                            #include "stylehelper.h"
                            #include "projectwindow.h"
                            
                            newF::newF(QWidget *parent) :
                                QDialog(parent),
                                ui(new Ui::newF)
                            {
                                ui->setupUi(this);
                            
                                this->setWindowFlags(Qt::SplashScreen);
                                this->setStyleSheet("QDialog {"
                                                    "background-color: #363636;"
                                                    "color: #FFFFFF;"
                                                    "}"
                                                    "QDialog::item:selected {"
                                                    "background-color: #6B6B6B"
                                                    "}");
                            
                                txt = new QLabel("New...",this);
                                txt->setGeometry(4, 4, 50, 10);
                                txt->setStyleSheet("QLabel {"
                                                   "color: #FFFFFF;"
                                                   "}");
                            
                                QPushButton *close = new QPushButton (this);
                                close->setGeometry(189, 1, 40, 18);
                                close->setStyleSheet("QPushButton {"
                                                     "image: url(:/images/close.png);"
                                                     "background-color: #000000;"
                                                     "border: none;"
                                                     "}"
                                                     "QPushButton:hover {"
                                                     "background-color: red; "
                                                     "}");
                                connect(close,SIGNAL(clicked()),this,SLOT(close()));
                            
                                newf = new QLabel("Name:",this);
                                newf->setStyleSheet("QLabel {"
                                                    "background-color: #363636;"
                                                    "color: #000000;"
                                                    "}");
                                name = new QLineEdit(this);
                                name->text();
                                name->setMaxLength(40);
                                name->setStyleSheet("QLineEdit {"
                                                    "color: #000000;"
                                                    "background-color: #696969;"
                                                    "border: 1px double black const;"
                                                    "};");
                                newf->setBuddy(name);
                                connect(name, &QLineEdit::textChanged, this, &newF::TextChanged);
                            
                                ok = new QPushButton("OK",this);
                                ok->setStyleSheet("QPushButton {"
                                                  "background-color: #696969;"
                                                  "border: none;"
                                                  "}"
                                                  "QPushButton:hover {"
                                                  "background-color: #7D7D7D;"
                                                  "}");
                                ok->setDefault(true);
                                ok->setEnabled(false);
                                ok->setFixedSize(100, 17);
                                connect(ok,&QPushButton::clicked,this,&newF::Ok);
                                QPushButton *cancel = new QPushButton("Cancel",this);
                                cancel->setStyleSheet("QPushButton {"
                                                      "background-color: #696969;"
                                                      "border: none;"
                                                      "}"
                                                      "QPushButton:hover {"
                                                      "background-color: #7D7D7D;"
                                                      "}");
                                cancel->setFixedSize(100, 17);
                                connect(cancel,SIGNAL(clicked()),this,SLOT(close()));
                            
                                QHBoxLayout *hb1 = new QHBoxLayout;
                                hb1->addWidget(newf);
                                hb1->addWidget(name);
                                QHBoxLayout *hb = new QHBoxLayout;
                                hb->addWidget(ok);
                                hb->addWidget(cancel);
                                QVBoxLayout *vb = new QVBoxLayout;
                                vb->addLayout(hb1);
                                vb->addLayout(hb);
                            
                                setLayout(vb);
                            }
                            
                            newF::~newF()
                            {
                                delete ui;
                            }
                            
                            void newF::Ok(){
                                projectWindow *pw = new projectWindow();
                                pw->show();
                                close();
                            }
                            
                            void newF::paintEvent(QPaintEvent *event){
                                Q_UNUSED(event);
                                QPainter painter(this);
                                painter.setPen(QPen(Qt::black, 40, Qt::SolidLine, Qt::FlatCap));
                                painter.drawLine(0, 0, 230, 0);
                            
                            }
                            
                            void newF::mousePressEvent(QMouseEvent *event)
                            {
                                QPoint winPt  = this->pos();
                                QPoint mousePt = event->globalPos();
                            
                                m_Position = mousePt - winPt;
                            }
                            
                            
                            void newF::mouseMoveEvent(QMouseEvent *event)
                            {
                                this->move(event->globalPos() - m_Position);
                            }
                            
                            
                            void newF::TextChanged(QString){
                                QString names;
                                names = name->text();
                                if(names!="")
                                   ok->setEnabled(true);
                                else
                                   ok->setEnabled(false);
                            }
                            
                            
                              //create new file
                            void MainWindow::newfile(){
                                newF *newf = new newF();
                                newf->show();
                            }
                            
                                   //new
                                    newFile = new QAction (tr("New"),this);
                                      newFile->setShortcut(QKeySequence::New);
                                      connect(newFile,&QAction::triggered,this, &MainWindow::newfile);
                                      file->addAction(newFile);
                            
                            1 Reply Last reply
                            0
                            • M Offline
                              M Offline
                              mrjj
                              Lifetime Qt Champion
                              wrote on 6 Jun 2017, 18:37 last edited by
                              #14

                              What part don't you understand ?
                              I put in comments in sample.

                              Ask about the places you are unsure about.

                              1 Reply Last reply
                              2

                              9/14

                              5 Jun 2017, 13:15

                              • Login

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