zoukankan      html  css  js  c++  java
  • 19.QT对话框(文件对话框,颜色对话框,字体框,自定义对话框)

    • 文件对话框 
      #include<QFileDialog>
      1 //文件对话框
      2 void Dialog::on_pushButton_clicked()
      3 {
      4     //定义显示文件的类型                                 窗口标题              可供选择的类型
      5     QString qstr = QFileDialog::getOpenFileName(this,"这是窗口标题","/"," (*.wmv)::(*.cpp) ");
      6     //QString qstr = QFileDialog::getOpenFileName(this,"*.*");
      7     ui->lineEdit->setText(qstr);
      8 }
    • 颜色对话框
      #include <QColorDialog>
      1 void Dialog::on_pushButton_2_clicked()
      2 {
      3     QColor cl = QColorDialog::getColor(Qt::yellow);
      4     QPalette pale(cl);//颜色的载体
      5 
      6     this->setPalette(pale);
      7 }
    • 字体对话框
      #include <QFontDialog>
      1 void Dialog::on_pushButton_3_clicked()
      2 {
      3     bool isok;
      4     QFont qf = QFontDialog::getFont(&isok);
      5     if(isok)
      6     {
      7         ui->label->setFont(qf);
      8     }
      9 }
    • 显示提示对话框
      #include <QMessageBox>
      1 void Dialog::on_pushButton_4_clicked()
      2 {
      3 //    QMessageBox *cs = new QMessageBox;
      4 //    cs->show();
      5 
      6     QMessageBox::warning(this,"hello1","hello2");
      7 
      8 }
    • 显示自定义对话框

    添加新的ui ,创建ui然后传递数据

     1 void Dialog::on_pushButton_5_clicked()
     2 {
     3     Newdialog *p = new Newdialog;
     4     //设置模态
     5     p->setModal(true);
     6     //显示
     7     p->show();
     8     //中断
     9     p->exec();
    10     ui->label->setText(p->str);
    11     delete p;
    12 }
    • newdialog.h
       1 #ifndef NEWDIALOG_H
       2 #define NEWDIALOG_H
       3 
       4 #include <QDialog>
       5 
       6 namespace Ui {
       7 class Newdialog;
       8 }
       9 
      10 class Newdialog : public QDialog
      11 {
      12     Q_OBJECT
      13 
      14 public:
      15     explicit Newdialog(QWidget *parent = 0);
      16     ~Newdialog();
      17     QString str;
      18 
      19 private slots:
      20     void on_pushButton_clicked();
      21 
      22 private:
      23     Ui::Newdialog *ui;
      24 };
      25 
      26 #endif // NEWDIALOG_H
    • newdialog.cpp
       1 #include "newdialog.h"
       2 #include "ui_newdialog.h"
       3 #include <QDebug>
       4 
       5 Newdialog::Newdialog(QWidget *parent) :
       6     QDialog(parent),
       7     ui(new Ui::Newdialog)
       8 {
       9     ui->setupUi(this);
      10 }
      11 
      12 Newdialog::~Newdialog()
      13 {
      14     delete ui;
      15 }
      16 
      17 void Newdialog::on_pushButton_clicked()
      18 {
      19     this->str = ui->lineEdit2->text();
      20     qDebug() << str << endl;
      21     this->close();
      22 }
  • 相关阅读:
    Linux_DNS服务器
    Linux_DNS服务器
    Linux_FTP服务器
    Linux_FTP服务器
    Linux_DHCP&DHCP Relay
    分布式内存存储式元数据服务的构建
    如何提高分布式系统的可观察性:Insight Tool的引入
    论分布式系统中Metric框架的设计
    分布式存储系统关于GDPR条例中的数据清除原则
    Pipeline并行处理模型
  • 原文地址:https://www.cnblogs.com/xiaochi/p/8748352.html
Copyright © 2011-2022 走看看