Probleme mit QPushbutton in msgBox
Verfasst: 26. Februar 2019 11:55
Hallo, mein Problem ist folgendes, ich würde gerne eine QMessageBox offnen bevor ich eine neue Datai lade und in meinem QTreeView öffne und darauf aufmerksam machen das dann alle bisherigen Daten verloren gehen.
Der Code sieht wie folgt aus:
in der Zeile l_laden = l_Warning.addButton("l_laden",QMessageBox::Open); bekomme ich einen Fehler.
Konvertierung von Argument 1 von "QString" in "QAbstractButton *" nicht möglich
Im Grunde hatte ich vor einen ganz anderen Constructor der addButton() Funktion zu verwenden. Der Text soll als Text des Buttons angezeigt werden.
addButton(const QString &text, QMessageBox::ButtonRole role)
und nicht
addButton(QAbstractButton *button, QMessageBox::ButtonRole role)
irgendwie sehe ich grad den Wald vor lauter Bäumen nicht, was mache ich da falsch?
Der Code sieht wie folgt aus:
Code: Alles auswählen
void DataBlockView_S71500new::sl_import()
{
bool l_loadError = false, l_noChild = false;
DataBlockLoader *Import = new DataBlockLoader(m_treeView, m_Item, m_model);
QMessageBox l_Warning;
QPushButton *l_laden;
l_Warning.setIcon(QMessageBox::Warning);
l_Warning.setText("Beim importieren der Datei gehen die aktuellen Daten verloren.");
l_Warning.setWindowTitle("Warnung");
l_Warning.addButton((tr("Abbrechen"),QMessageBox::Abort));
l_laden = l_Warning.addButton("l_laden", QMessageBox::Open);
QString l_filePath = QFileDialog::getOpenFileName(this,tr("Datenbaustein Importieren"),QDir::homePath(),("*.db"));
if(!l_filePath.isEmpty())
{
if(m_model->hasChildren())
{
l_Warning.exec();
}
else
{
l_noChild = true;
}
if(l_Warning.clickedButton() == reinterpret_cast<QAbstractButton*>(l_laden) || l_noChild)
{
this->blockDB();
m_Imported->setText("Importierter Datenbaustein");
m_Imported->setToolTip("Importierte Datenbausteine können nicht verändert werden.");
l_loadError = Import->load(l_filePath);
m_DBName->setText(Import->getDBname());
qDebug()<<Import->getDBOptimized();
}
}
if(l_loadError)
{
this->sl_freeDB();
qWarning()<<"Das Importieren der Datei wurde abgebrochen.";
}
}
Konvertierung von Argument 1 von "QString" in "QAbstractButton *" nicht möglich
Im Grunde hatte ich vor einen ganz anderen Constructor der addButton() Funktion zu verwenden. Der Text soll als Text des Buttons angezeigt werden.
addButton(const QString &text, QMessageBox::ButtonRole role)
und nicht
addButton(QAbstractButton *button, QMessageBox::ButtonRole role)
irgendwie sehe ich grad den Wald vor lauter Bäumen nicht, was mache ich da falsch?