界面很简单,6个按钮,6个label。如下图:
6个按钮对应6个函数,说明6个常用功能:
void Dialog::onSelectFileClicked(){
QString fileName = QFileDialog::getOpenFileName(this, tr("open file dialog"), ".",
tr("Head files(*.h);;C++ files(*.cpp)"));
//两个分号可以把删选条件分行显示
ui->labelFile->setText(fileName);
}
void Dialog::onSelectFontClicked(){
bool ok;
QFont f = QFontDialog::getFont(&ok);
if (ok) {
ui->labelFont->setFont(f);
}
}
void Dialog::onSelectColorClicked(){
QColor c = QColorDialog::getColor(Qt::blue);//对话框弹出来的时候,默认选择的颜色
ui->labelColor->setAutoFillBackground(true);
if (c.isValid()) {
ui->labelColor->setPalette(QPalette(c));
}
}
void Dialog::onInputDialogClicked(){
bool ok;
QString text = QInputDialog::getText(this,
tr("a standard input dialog"),tr("enter your name"),
QLineEdit::Normal,
"Thomas",//默认显示的名字
&ok);
if (ok && !text.isEmpty()) {
ui->labelInput->setText(text);
}
}
void Dialog::onGetItemDialogClicked(){
QStringList sexItems;
sexItems << tr("man") << tr("female");
bool ok;
QString sexItem = QInputDialog::getItem(this,tr("a sex dialog"),tr("select your sex"),
sexItems,0,false,&ok);
if (ok && !sexItem.isEmpty())
ui->labelGetItem->setText(sexItem);
}
void Dialog::onGetIntDialogClicked(){
bool ok;
int v = QInputDialog::getInt(this,tr("get int dialog"),
"get an int",42,//42是默认显示的数字
0,1024,1,&ok);
if(ok) ui->labelGetInt->setText(QString::number(v));
}