Qt C++模版函数示例

来源:互联网 发布:阿里云备案幕布 psd 编辑:程序博客网 时间:2024/06/04 08:50

两个地方调用saveToFile,但是传入的参数类型不同。可以按照以下的方式来实现。

template<class T> void saveToFile(QWidget *parent, T *saveable){    QString t;    QFileDialog fd(parent, t, QString());    fd.setAcceptMode(QFileDialog::AcceptSave);    fd.setDefaultSuffix("png");    fd.selectFile("test.png");    if (fd.exec() == QDialog::Accepted)        saveable->save(fd.selectedFiles().first());}void MainWindow::grabToFile(){    QImage image = m_quickWidget->grabFramebuffer();    saveToFile(this, &image);}void MainWindow::renderToFile(){    QPixmap pixmap(m_quickWidget->size());    m_quickWidget->render(&pixmap);    saveToFile(this, &pixmap);}


0 0
原创粉丝点击