<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Forum Pasja Informatyki - Najnowsze z tagiem qt5</title>
<link>https://forum.pasja-informatyki.pl/tag/qt5</link>
<description>Powered by Question2Answer</description>
<item>
<title>QT5 - nie wyświetlają się widgety</title>
<link>https://forum.pasja-informatyki.pl/366556/qt5-nie-wyswietlaja-sie-widgety</link>
<description>

&lt;p&gt;Chce w QT stworzyć przycisk niestety wyświetla mi się puste okno. Przy dodawaniu elementów przez QT designer działa wszystko ok. Może ktoś spojrzeć na ten kod:&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot; title=&quot;main.cpp&quot;&gt;
#include &quot;mainwindow.h&quot;
#include &amp;lt;QApplication&amp;gt;

int main(int argc, char *argv[])
{
	QApplication a(argc, argv);
	QMainWindow okno;
	okno.show();
	return a.exec();
}
&lt;/pre&gt;



&lt;pre class=&quot;brush:cpp;&quot; title=&quot;mainwindow.cpp&quot;&gt;
#include &quot;mainwindow.h&quot;

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
}

MainWindow::~MainWindow()
{
	przycisk = new QPushButton(&quot;TAK&quot;);
	przycisk-&amp;gt;setGeometry(10,10,200,200);
}
&lt;/pre&gt;



&lt;pre class=&quot;brush:cpp;&quot; title=&quot;mainwindow.h&quot;&gt;
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include &amp;lt;QMainWindow&amp;gt;
#include &amp;lt;QPushButton&amp;gt;
class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();
    QMainWindow *okno;
    QPushButton *przycisk;


};

#endif // MAINWINDOW_H
&lt;/pre&gt;



&lt;pre class=&quot;brush:plain;&quot; title=&quot;przycisk.pro&quot;&gt;
######################################################################
# Automatically generated by qmake (3.0) wt. lip 17 17:17:05 2018
######################################################################

QT += widgets
QT += core
QT += gui
TEMPLATE = app
TARGET = przycisk
INCLUDEPATH += .

# Input
HEADERS += mainwindow.h
SOURCES += main.cpp mainwindow.cpp
&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/366556/qt5-nie-wyswietlaja-sie-widgety</guid>
<pubDate>Tue, 17 Jul 2018 15:55:32 +0000</pubDate>
</item>
<item>
<title>Qt5 - problem z jednorazową blokadą sygnału.</title>
<link>https://forum.pasja-informatyki.pl/316503/qt5-problem-z-jednorazowa-blokada-sygnalu</link>
<description>

&lt;p&gt;Witam, mam taki kod:&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
void MainWindow::on_listWidgetNotes_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous)//Test!
{
    if(current != NULL)
    {
        ui-&amp;gt;plainTextEditContent-&amp;gt;setEnabled(true);
        change = false;
        if(isModified)
        {
            auto reply = QMessageBox::question(this, &quot;Test&quot;, &quot;Do you want save changes?&quot;, QMessageBox::Yes|QMessageBox::No|QMessageBox::Cancel);
            if (reply == QMessageBox::Yes) on_pushButtonSave_clicked();
            else if(reply == QMessageBox::No) notes.closeFile();
            else
            {
                ui-&amp;gt;listWidgetNotes-&amp;gt;blockSignals(true);
                ui-&amp;gt;listWidgetNotes-&amp;gt;setCurrentItem(previous);
                ui-&amp;gt;listWidgetNotes-&amp;gt;blockSignals(false);
                return;
            }
        }
        isModified = false;
        this-&amp;gt;setWindowTitle(current-&amp;gt;text()+&quot; - VfNotes 1.0&quot;);
        ui-&amp;gt;plainTextEditContent-&amp;gt;setPlainText(notes.openFile(current-&amp;gt;text()));
    }
}
&lt;/pre&gt;



&lt;p&gt;W pewnym przypadku ma on wyświetlić okno dialogowe i ustawić zaznaczenie elementu, gdy to okno się zamknie lub, gdy się wybierze cancel. Jednak setCurrentItem powoduje ponowne wywołanie on_listWidgetNotes_currentItemChanged czego efektem jest ciągłe ponowne pojawianie się okna dialogowego po jego zamknięciu. Użycie blockSignals sprawia, że problem znika, ale zaznaczenie nie wraca na poprzedni element. Próbowałem wielu innych rozwiązań np. użycie zmiennej przechowującej informację o tym czy wywołać nowe okno, ale nic nie pomaga. W dokumentacji, którą przeglądałem wielokrotnie czy na zagranicznych forach również nie znalazłem odpowiedzi.&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/316503/qt5-problem-z-jednorazowa-blokada-sygnalu</guid>
<pubDate>Sat, 06 Jan 2018 23:08:30 +0000</pubDate>
</item>
<item>
<title>Połączenie w QT5</title>
<link>https://forum.pasja-informatyki.pl/149005/polaczenie-w-qt5</link>
<description>

&lt;p&gt;Witam, piszę sapera w QT5. Na razie mam tablice przycisków i chcę by po kliknięciu przycisku wyświetlił się na nim X. Gdy włączam program pojawia się komunikat: &quot;&lt;span style=&quot;color:#0000aa&quot;&gt;QObject::connect: No such slot MojeOkno::onClick(i,j)&quot; &amp;nbsp;&lt;/span&gt;Oczywiście program nie działa, ale okienko się pojawia.&lt;/p&gt;



&lt;p&gt;Mój kod&lt;/p&gt;



&lt;p&gt;main.cpp&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &quot;mainwindow.h&quot;
#include &amp;lt;QApplication&amp;gt;

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MojeOkno o;
    o.show();
    return a.exec();
}
&lt;/pre&gt;



&lt;p&gt;mainwindow.h&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#ifndef MOJEOKNO_H
#define MOJEOKNO_H

#include &amp;lt;QMainWindow&amp;gt;
#include &amp;lt;QPushButton&amp;gt;
#include &amp;lt;QMainWindow&amp;gt;
#include &amp;lt;QLabel&amp;gt;
#include &quot;patch.h&quot;

class MojeOkno : public QMainWindow
{
Q_OBJECT public:
    explicit MojeOkno(QWidget *parent = 0);
    QPushButton* button;
    QLabel* label1;
    QLabel* label2;
    QLabel* label3;
    QLabel* label4;
    QPushButton*** tab;
    Patch* p;
signals:
public slots:
    void onClick(int i, int j);
};
#endif // MOJEOKNO_H&lt;/pre&gt;



&lt;p&gt;mainwindow.cpp&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &quot;mainwindow.h&quot;
#include &amp;lt;QApplication&amp;gt;
#include &amp;lt;QTextCodec&amp;gt;

MojeOkno::MojeOkno(QWidget *parent) :    QMainWindow(parent)
{
    QTextCodec::setCodecForLocale(QTextCodec::codecForName(&quot;UTF-8&quot;));
    setGeometry(100, 100, 400, 460);
    setWindowTitle(&quot;Saper&quot;);

    label1 = new QLabel(&quot;Bomby:&quot;, this);
    label1-&amp;gt;setGeometry(20, 20, 80, 40);

    label2 = new QLabel(&quot;10&quot;, this);
    label2-&amp;gt;setGeometry(120, 20, 80, 40);

    label3 = new QLabel(&quot;Czas:&quot;, this);
    label3-&amp;gt;setGeometry(220, 20, 80, 40);

    label4 = new QLabel(&quot;0&quot;, this);
    label4-&amp;gt;setGeometry(300, 20, 80, 40);

    tab = new QPushButton**[9];
    for(int i=0; i&amp;lt;9; i++)
    {
        tab[i] = new QPushButton*[9];
            for(int j=0; j&amp;lt;9; j++)
            {
                tab[i][j] = new QPushButton(&quot;&quot;, this);
                tab[i][j]-&amp;gt;setGeometry(20+i*40, 80+j*40, 40, 40);
            }
    }

    //connect(tab[0][0], SIGNAL(clicked(bool)), this, SLOT(onClick(0,0)));
    for(int i=0; i&amp;lt;9; i++)  for(int j=0; j&amp;lt;9; j++)
        connect(tab[i][j], SIGNAL(clicked()), this, SLOT(onClick(i, j)));
}
void MojeOkno::onClick(int i, int j)
{
    tab[i][j]-&amp;gt;setText(&quot;X&quot;);
}&lt;/pre&gt;



&lt;p&gt;W ostatnim pliku usuwam komentarz z 34 linijki i wrzucam 35 i 36 w komentarz pojawia się z kolei taki błąd: &quot;&lt;span style=&quot;color:#aa00aa&quot;&gt;QObject::connect: No such slot MojeOkno::onClick(0, 0)&quot;&lt;/span&gt;&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;&lt;span style=&quot;color:#000000&quot;&gt;Ktoś ma pomysł dlaczego?&lt;/span&gt;&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/149005/polaczenie-w-qt5</guid>
<pubDate>Thu, 09 Jun 2016 16:35:40 +0000</pubDate>
</item>
</channel>
</rss>