Qt标准对话框实现
2016-08-05 09:57
260 查看
Qt标准对话框实现
#include "mywidget.h" #include "ui_mywidget.h" #include <QDebug> #include <QColorDialog> #include <QTextCodec> #include "QFileDialog" #include <QFontDialog> #include <QInputDialog> #include <QMessageBox> #include <QProgressDialog> #include <QErrorMessage> #include <QWizard> MyWidget::MyWidget(QWidget *parent) : QWidget(parent), ui(new Ui::MyWidget) { ui->setupUi(this); } MyWidget::~MyWidget() { delete ui; } void MyWidget::on_pushButton_clicked() { QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); QColor color = QColorDialog::getColor(Qt::red, this, tr("颜色对话框")/*, QColorDialog::ShowAlphaChannel*/); qDebug() << "color: " << color; } void MyWidget::on_pushButton_6_clicked() { QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); QStringList fileNames = QFileDialog::getOpenFileNames(this, tr("文件对话框"), "F:", tr("图片文件(* png * jpg);;文本文件(* txt)")); qDebug() << "filenames:" << fileNames; } void MyWidget::on_pushButton_2_clicked() { QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); bool ok; QFont font = QFontDialog::getFont(&ok, this); if (ok) ui->pushButton_2->setFont(font); else qDebug() << tr("没有选择字体!"); } void MyWidget::on_pushButton_7_clicked() { QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); bool ok; QString string = QInputDialog::getText(this, tr("输入字符串对话框"), tr("请输入用户名: "),QLineEdit::Normal,tr("admin"), &ok); if (ok) qDebug() << "string:" << string; int value1 = QInputDialog::getInt(this, tr("输入整数对话框"), tr("请输入-1000到1000之间的数值"), 100, -1000, 1000, 10, &ok); if (ok) qDebug() << "value1:" << value1; double value2 = QInputDialog::getDouble(this, tr("输入浮点数对话框"), tr("请输入-1000到1000之间的数值"), 0.00, -1000, 1000, 2, &ok); if (ok) qDebug() << "value2:" << value2; QStringList items; items << tr("条目1") << tr("条目2"); QString item = QInputDialog::getItem(this, tr("输入条目对话框"), tr("请输入一个条目"), items, 0, true, &ok); if(ok) qDebug() << "item:" << item; } void MyWidget::on_pushButton_3_clicked() { QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); int ret1 = QMessageBox::question(this, tr("问题对话框"), tr("你了解Qt吗?"), QMessageBox::Yes, QMessageBox::No); if (ret1 == QMessageBox::Yes) qDebug() << tr("问题!"); int ret2 = QMessageBox::information(this, tr("提示对话框"), tr("这是Qt书籍!"), QMessageBox::Ok); if (ret2 == QMessageBox::Ok) qDebug() << tr("提示!"); //警告对话框 int ret3 = QMessageBox::warning(this, tr("警告对话框"), tr("不能提前结束!"), QMessageBox::Abort); if (ret3 == QMessageBox::Abort) qDebug() << tr("警告!"); //错误对话框 int ret4 = QMessageBox::critical(this, tr("严重错误对话框"), tr("发现一个严重错误!现在要关闭所有文件!"), QMessageBox::YesAll); if (ret4 == QMessageBox::YesAll) qDebug() << tr("错误!"); //关于对话框 QMessageBox::about(this, tr("关于对话框"), tr("yafeilinux.com致力于Qt及Qt Creator的普及工作!")); } void MyWidget::on_pushButton_8_clicked() { QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); QProgressDialog dialog(tr("文件复制进度"), tr("取消"), 0, 50000, this); dialog.setWindowTitle(tr("进度对话框")); dialog.setWindowModality(Qt::WindowModal); dialog.show(); for (int i = 0; i < 50000; i++){ dialog.setValue(i); QApplication::processEvents(); if (dialog.wasCanceled()) break; } dialog.setValue(50000); qDebug() << tr("复制结束!"); } void MyWidget::on_pushButton_4_clicked() { QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); QErrorMessage *dialog = new QErrorMessage(this); dialog->setWindowTitle(tr("错误信息对话框")); dialog->showMessage(tr("这里是出错信息!")); } QWizardPage * MyWidget::createpage1() { QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); QWizardPage * page = new QWizardPage; page->setTitle(tr("介绍")); return page; } QWizardPage * MyWidget::createpage2() { QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); QWizardPage * page = new QWizardPage; page->setTitle(tr("用户选择信息")); return page; } QWizardPage * MyWidget::createpage3() { QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); QWizardPage * page = new QWizardPage; page->setTitle(tr("结束")); return page; } void MyWidget::on_pushButton_5_clicked() { QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); QWizard wizard(this); wizard.setWindowTitle(tr("向导对话框")); wizard.addPage(createpage1()); wizard.addPage(createpage2()); wizard.addPage(createpage3()); wizard.exec(); }/home/lina/图片/2016-08-05 09-55-37屏幕截图.png
相关文章推荐
- QT 类及其实现效果(1)--标准对话框与多文档布局
- Qt学习之路(16): Qt标准对话框之QColorDialog
- Qt学习之路(18): Qt标准对话框之QInputDialog 推荐
- 嵌入式Linux上QT标准键盘输入的实现
- 嵌入式linux上QT标准键盘输入的实现
- linux窗口程序设计 Qt4精彩实例分析 pyqt实现 实例2 标准对话框的使用
- 在Qt中实现一个对话框
- Qt学习之路(18): Qt标准对话框之QInputDialog
- Qt标准对话框之 QInputDialog-18
- Qt标准对话框之 QColorDialog-16
- Qt学习之路(16): Qt标准对话框之QColorDialog
- Qt学习之路(15): Qt标准对话框之QFileDialog
- Qt标准对话框
- 嵌入式linux上QT标准键盘输入的实现
- Qt标准对话框之QColorDialog
- Qt学习之路(17): Qt标准对话框之QMessageBox 推荐
- 图形的绘制,如何使用自定义画笔(颜色,线宽,线形)。如何为程序中添加选项菜单和选项设置对话框,如何使用标准颜色对话框,如何使用字体对话框,在选项对话框中实现预览功能。实现选项对话框和窗口类中的数据交换。如何改变对话框和控件的背景色,如何改变控件的文本颜色,
- Qt学习之路(15): Qt标准对话框之QFileDialog
- C++ GUI Qt 编程(第二版)第8章 Diagram_1(实现主对话框)
- Qt学习之路(17): Qt标准对话框之QMessageBox