Qt:内建对话框
来源:互联网 发布:怎样在淘宝上找优惠券 编辑:程序博客网 时间:2024/05/27 20:43
QVBoxLayout::addLayout();
QVBoxLayout::setMargin();
QVBoxLayout::addStretch();
QLineEdit::setFocus();
QMessageBox box;
box.setWindowTitle();
box.setIcon(QMessageBox::Warning);
box.setText();
box.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
box.setDetailedText(); //设置详细信息
Qt提供的内建对话框:
QColorDialog,QErrorMessage,QFileDialog,QFontDialog,QInputDialog,
QPageSetupDialog,QProgressDialog,QPrintDialog.
eg:
void CBuiltDlg::doPushBtn(){ //槽
QPushButton* btn = qobject_cast<QPushButton*>(sender());
if(btn == colorPushBtn){
QPalette palette = displayTextEdit->palette();
const QColor& color =
QColorDialog::getColor(palette.color(QPalette::Base),this);
if(color.isValid()){
palette.setColor(QPalette::Base,color);
displayTextEdit->setPalette(paltte);
}
}else if(btn == errorBushBtn){
QErrorMessage box(this);
box.setWindowTitle(tr("错误消息框"));
box.showMessage(tr("错误消息实例xx."));
box.showMessage(tr("错误消息实例yy."));
box.showMessage(tr("错误消息实例zz."));
box.exec();//可以new一个对象,用showMessage()就可以显示对话框,无需调用exec();
}else if(btn = filePushBtn){
QString fileName = QFileDialog::getOpenFileName(this,
tr("打开文件"),
"/usr/local/file",
tr("任何文件(*.*)"";;文本文件(*.txt)"";;XML文件(*.xml)"));
displayTextEdit->setText(fileName);
}else if(btn == fontPushBtn){
bool ok;
const QFont& font = QFontDialog::getFont(&ok,displayTextEdit->font(),
this,tr("字体对话框"));
if(ok)
displayTextEdit->setFont(font);
}else if(btn == inputPushBtn){
bool ok;
QString text = QInputDialog::getText(this,tr("输入对话框"),
tr("输入文本:"),
QLineEdit::Normal,
QDir::home().dirName(),
&ok);
if(ok && !text.isEmpty())
displayTextEdit->setText(text);
}else if(btn == pagePushBtn){
QPrinter printer;
QPageSetupDialog dlg(&printer,this);
dlg.setWindowTitle(tr("页设置对话框"));
if(dlg.exec() == QDialog::Accepted){
... //进行下一步处理
}
}else if(btn == progressPushBtn){
QProgressDialog progress("tr(正在复制文件...)",
tr("取消"),0,10000,this);
progress.setWindowModality(Qt::WindowModal);
progress.setWindowTitle(tr("进度对话框"));
progress.show();
for(int i = 0; i < 10000; ++i){
progress.setValue(i); //推进显示的进度
qApp->processEvents();//保证事件循环可以处理其他事件
if(progress.wasCanceled())
break;
//... 复制文件处理
qDebug() << i;
}
progress.setValue(10000);
}else if(btn == printPushBtn){
QPrinter printer;
QPrintDialog dlg(&printer,this);
dlg.setWindowTitle("打印对话框");
if(dlg.exec() == QDialog::Accepted){
... //进行下一步的处理
}
}
}
QVBoxLayout::setMargin();
QVBoxLayout::addStretch();
QLineEdit::setFocus();
QMessageBox box;
box.setWindowTitle();
box.setIcon(QMessageBox::Warning);
box.setText();
box.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
box.setDetailedText(); //设置详细信息
Qt提供的内建对话框:
QColorDialog,QErrorMessage,QFileDialog,QFontDialog,QInputDialog,
QPageSetupDialog,QProgressDialog,QPrintDialog.
eg:
void CBuiltDlg::doPushBtn(){ //槽
QPushButton* btn = qobject_cast<QPushButton*>(sender());
if(btn == colorPushBtn){
QPalette palette = displayTextEdit->palette();
const QColor& color =
QColorDialog::getColor(palette.color(QPalette::Base),this);
if(color.isValid()){
palette.setColor(QPalette::Base,color);
displayTextEdit->setPalette(paltte);
}
}else if(btn == errorBushBtn){
QErrorMessage box(this);
box.setWindowTitle(tr("错误消息框"));
box.showMessage(tr("错误消息实例xx."));
box.showMessage(tr("错误消息实例yy."));
box.showMessage(tr("错误消息实例zz."));
box.exec();//可以new一个对象,用showMessage()就可以显示对话框,无需调用exec();
}else if(btn = filePushBtn){
QString fileName = QFileDialog::getOpenFileName(this,
tr("打开文件"),
"/usr/local/file",
tr("任何文件(*.*)"";;文本文件(*.txt)"";;XML文件(*.xml)"));
displayTextEdit->setText(fileName);
}else if(btn == fontPushBtn){
bool ok;
const QFont& font = QFontDialog::getFont(&ok,displayTextEdit->font(),
this,tr("字体对话框"));
if(ok)
displayTextEdit->setFont(font);
}else if(btn == inputPushBtn){
bool ok;
QString text = QInputDialog::getText(this,tr("输入对话框"),
tr("输入文本:"),
QLineEdit::Normal,
QDir::home().dirName(),
&ok);
if(ok && !text.isEmpty())
displayTextEdit->setText(text);
}else if(btn == pagePushBtn){
QPrinter printer;
QPageSetupDialog dlg(&printer,this);
dlg.setWindowTitle(tr("页设置对话框"));
if(dlg.exec() == QDialog::Accepted){
... //进行下一步处理
}
}else if(btn == progressPushBtn){
QProgressDialog progress("tr(正在复制文件...)",
tr("取消"),0,10000,this);
progress.setWindowModality(Qt::WindowModal);
progress.setWindowTitle(tr("进度对话框"));
progress.show();
for(int i = 0; i < 10000; ++i){
progress.setValue(i); //推进显示的进度
qApp->processEvents();//保证事件循环可以处理其他事件
if(progress.wasCanceled())
break;
//... 复制文件处理
qDebug() << i;
}
progress.setValue(10000);
}else if(btn == printPushBtn){
QPrinter printer;
QPrintDialog dlg(&printer,this);
dlg.setWindowTitle("打印对话框");
if(dlg.exec() == QDialog::Accepted){
... //进行下一步的处理
}
}
}
0 0
- Qt:内建对话框
- Qt内建对话框简介
- Qt内建(built-in)对话框
- qt学习笔记(四)之对话框-Qt内建对话框
- qt学习笔记(四)之对话框-Qt内建对话框 .
- qt学习笔记(四)之对话框-Qt内建对话框
- Linux下Qt内建对话框实例源程序
- 使QT内建的对话框文字显示为中文 window7+vs2010+qt
- Qt学习之内建对话框
- Qt对话框
- QT 对话框
- Qt 对话框
- Qt 对话框
- Qt-对话框
- qt对话框
- QT对话框
- QT对话框
- QT 内建控件概览
- tomcat8 下访问jsp,报告serverlet fillter出错
- Could not execute JDBC batch update
- LoaderManager&Loader源码剖析(1) – Activity对LoaderManager的管理
- spring mvc json @ResponseBody 出现406错误 not acceptable ,解决方法,亲测可行
- sharedpreference中putStringSet和getStringSet的问题
- Qt:内建对话框
- php之字符串处理
- 杭电2072 单词数
- How to install GSL on linux (ubuntu)
- 【BZOJ】【P2258】【pku2758 Checking the Text 文本校对】【题解】【hash】
- Eclipse的命令行输入
- LauchMode页面加载模式
- poi读取excel带下拉框的单元格
- JQuery IE下如何阻止keydown事件冒泡