ich hätte da ein paar Probleme bei denen ich gut Hilfe gebrauchen könnte.
Zum einen wäre da:
Ich habe ein Widget in dem wenn ich die Maus bewege die Position der Maus in einen QString gespeichert wird und per signal an mein MainWindo übergeben und in die Statusbar geschrieben wird.
Problem ich muss wissen aus welchem Widget es kommt da ich 4 habe diese aber die selbe Klasse besitzen.
Code: Alles auswählen
connect (m_pParameterToolWidget->m_pPlot1, SIGNAL(signalMousePosition(const QString&)), statusBar(), SLOT( showMessage(const QString&)));
connect (m_pParameterToolWidget->m_pPlot2, SIGNAL(signalMousePosition(const QString&)), statusBar(), SLOT( showMessage(const QString&)));
Dann müsste ich wissen ob man wie bei QPolygon so eine .containsPoint abfrage machen kann oder was in der Art.
Code: Alles auswählen
void
ParameterToolPlot::mouseDoubleClickEvent(QMouseEvent* event)
{
QString sMouseInteraction = "Maustaste wurde doppelt geklickt.";
emit signalMousePosition(sMouseInteraction);
for (int i=0; i<m_vPolygons.size(); i++)
{
if(m_vPolygons.at(i).containsPoint( event->pos(),Qt::OddEvenFill))
{
m_vbBoolean.at(i) = !m_vbBoolean.at(i);
QMessageBox::information( this, "Info", "IST IN "+ QString::number(i+1) +" DRIN");
break;
}
}
}
Und dann hab ich noch ein Problem mit der Ansicht der 4 verschiedenen Widgets.
In meinem MainWindow habe ich ein TextEdit in dem ich was reinschreibe und dann auf einen Button drücke um das Paintevent anzuschmeißen.
Ich möchte jetzt mit verschiedenen Schlüsselwörtern alle 4 anzeigen lassen 1 der 4 groß oder alle nicht anzeigen lassen.
Code: Alles auswählen
if (sDrawContents.contains("Quad", Qt::CaseInsensitive))
{
bDrawLine = true;
m_pPlot1->setGeometry(0,0,width()/2. - 1,height()/2.);
m_pPlot1->show();
m_pPlot2->setGeometry(width()/2. + 1,0,width()/2., height()/2.);
m_pPlot2->show();
m_pPlot3->setGeometry(0,height()/2. + 1,width()/2. -1 , height()/2.);
m_pPlot3->show();
m_pPlot4->setGeometry(width()/2. + 1,height()/2. + 1,width()/2.,height()/2.);
m_pPlot4->show();
}
else
{
m_pPlot1->hide();
m_pPlot2->hide();
m_pPlot3->hide();
m_pPlot4->hide();
}
Code: Alles auswählen
if (sDrawContents.contains("Singel1", Qt::CaseInsensitive))
{
bDrawLine = false;
m_pPlot2->setGeometry(0,0,width(),height());
m_pPlot2->hide();
m_pPlot3->setGeometry(0,0,width(),height());
m_pPlot3->hide();
m_pPlot4->setGeometry(0,0,width(),height());
m_pPlot4->hide();
m_pPlot1->setGeometry(0,0,width(),height());
m_pPlot1->show();
}
}
Woran könnte das liegen???
also ich wäre für Hilfe und Lösungsansetze sehr dankbar.
Gruß
Qt-nator