内蒙古自治区精神文明建设网站,中秋节的网页制作模板,想学网站开发,宛城区微网站建设介绍
自定义框主要通过对现有对话框QDialog类的派生#xff0c;根据需求编写成员函数、重载信号函数、槽函数#xff0c;进而实现在主QWidget中点击某个按钮后#xff0c;一个对话框的弹出
流程
简化创建派生类 最后点击完成即可。
自定义ui界面#xff0c;编写成员函数…介绍
自定义框主要通过对现有对话框QDialog类的派生根据需求编写成员函数、重载信号函数、槽函数进而实现在主QWidget中点击某个按钮后一个对话框的弹出
流程
简化创建派生类 最后点击完成即可。
自定义ui界面编写成员函数等 class TMyDialog;
}
class TMyDialog : public QDialog
{Q_OBJECT
public:explicit TMyDialog(QWidget *parent nullptr);~TMyDialog();
void setRowCol(int row, int col);
int rowCount();int colCount();
private slots:void on_btnEnsure_clicked();
void on_btnCancel_clicked();
private:Ui::TMyDialog *ui;
};
#include tmydialog.h
#include ui_tmydialog.h
TMyDialog::TMyDialog(QWidget *parent) :QDialog(parent),ui(new Ui::TMyDialog)
{ui-setupUi(this);
}
TMyDialog::~TMyDialog()
{delete ui;
}
void TMyDialog::setRowCol(int row, int col)
{ui-spinBoxRow-setValue(row);ui-spinBoxCol-setValue(col);
}
int TMyDialog::rowCount()
{return ui-spinBoxRow-value();
}
int TMyDialog::colCount()
{return ui-spinBoxCol-value();
}
void TMyDialog::on_btnEnsure_clicked()
{this-accept();
}
void TMyDialog::on_btnCancel_clicked()
{this-reject();
}
主窗口触发槽函数编写
这里常有一个固定的格式 new一个自定义对话框类对象根据需求确定是在槽函数内new还是在外面new 根据需求编写功能组件显示数值初始化等 获取对话框执行结果int ret dialog-exec()根据执行结果编写后续功能
void MainWindow::on_actSetRowCol_triggered()
{TMyDialog *m_dialog new TMyDialog();
m_dialog-setWindowFlag(Qt::MSWindowsFixedSizeDialogHint);m_dialog-setRowCol(m_model-rowCount(), m_model-columnCount()); //这里只是初始化对话框中的spinbox的值
int ret m_dialog-exec(); //循环执行获取结果if(ret QDialog::Accepted){m_model-setColumnCount(m_dialog-colCount());m_model-setRowCount(m_dialog-rowCount());}delete m_dialog;
}