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?