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.
  • 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

                        13/14

                        6 Jun 2017, 18:26

                        • Login

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