模态和非模态对话框
标准对话框和文件对话框
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMenuBar> //菜单栏
#include<QMenu> //添加菜单
#include<QAction>
#include<QDialog>
#include<QDebug>
#include<QMessageBox>
#include<QFileDialog>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
QMenuBar *mBar=menuBar();
setMenuBar(mBar);
QMenu *menu=mBar->addMenu("对话框");
/***********
* 模态对话框
***********/
QAction *p1=menu->addAction("模态对话框");
connect(p1,&QAction::triggered,
[=]()
{
QDialog dlg;
dlg.exec();
qDebug("11");
}
);
/***********
* 非模态对话框
* 在.h里面加#include<QDialog>
* QDialog dlg;
***********/
QAction *p2=menu->addAction("非模态对话框");
connect(p2,&QAction::triggered,
[=]()
{
dlg.show();
qDebug("11");
}
);
/***********
* 关于对话框
***********/
QAction *p3=menu->addAction("关于对话框");
connect(p3,&QAction::triggered,
[=]()
{
QMessageBox::about(this,"about","关于Qt");
}
);
/***********
* 问题对话框
***********/
QAction *p4=menu->addAction("问题对话框");
connect(p4,&QAction::triggered,
[=]()
{
int ret = QMessageBox::question(this,
"question","Are you ok",
QMessageBox::Ok |
QMessageBox::Cancel
);
switch (ret) {
case QMessageBox::Yes:
qDebug()<<"I am ok";
break;
case QMessageBox::No:
qDebug()<<"I am bad";
break;
default:
break;
}
}
);
/****************
*文件对话框
*#include<QFileDialog>
*****************/
QAction *p5=menu->addAction("文件对话框");
connect(p5,&QAction::triggered,
[=]()
{
QString path= QFileDialog::getOpenFileName(
this,
"open",
"../",
"souce(*.cpp *.h);;Text(*.txt);;all(*.*)"
);
qDebug()<<path;
}
);
}
MainWindow::~MainWindow()
{
delete ui;
}
c常用控件
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QDebug>
#include<QCompleter>
#include<QStringList>
#include<QMovie>
#include <QLCDNumber>//数码管
#include <QProgressBar>//进度条
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->button->setText("123");
QString str=ui->lineEdit->text();//获取内容
qDebug()<<str;
//设置内容
ui->lineEdit->setText("hahaha");
//设置内容显示间隙
ui->lineEdit->setTextMargins(15,0,0,0);
//设置内容显示方式
// ui->lineEdit->setEchoMode(QLineEdit::Password);
//提示内容
QStringList list;
list<<"hello"<<"How are you"<<"hehe";
QCompleter *com=new QCompleter(list,this);
com->setCaseSensitivity(Qt::CaseInsensitive);
ui->lineEdit->setCompleter(com);
//QLabel标签作用
ui->labelText->setText("^_^");
//设置图片
ui->labelImage->setPixmap(QPixmap(":/1.jpg"));
//让图片自动设置大小
ui->labelImage->setScaledContents(true);
//创建动画
QMovie *myMovie =new QMovie(":/2.gif");
//设置动画
ui->labelGif->setMovie(myMovie);
//启动动画
myMovie->start();
ui->labelGif->setScaledContents(true);
//设置网址
ui->labelUrl->setText("<h1><a href=\"https://www.baidu.com\">百度一下</a></h1>");
ui->labelUrl->setOpenExternalLinks(true);
//数码管
ui->lcdNumber->display(123);
//进度条
ui->progressBar->setMinimum(0);//最小
ui->progressBar->setMaximum(200);//最大
ui->progressBar->setValue(100);//当前
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_change_clicked()
{
static int i=0;
// i=++i%4;
ui->stackedWidget->setCurrentIndex(++i%4);
}