linux窗口程序设计-Qt4精彩实例分析2
2017-10-15 16:59
441 查看
1、new project,选择applications,qt widgets application,choose。
2、命名,存储路径,next。
3、next。
4、类名,头文件,源文件,选择基类为对话框,generate form不选,next,finish。
5、程序代码如下:
standarddialogs.h文件
standarddialogs.cpp文件
#include "standarddialogs.h"
#include <QFileDialog>
#include <QColorDialog>
#include <QFontDialog>
StandardDialogs::StandardDialogs( QWidget *parent,Qt::WindowFlags f )
:QDialog( parent,f )
{
setWindowTitle(tr("标准对话框"));
layout = new QGridLayout(this);
filePushButton = new QPushButton;
filePushButton->setText(tr("文件对话框"));
colorPushButton = new QPushButton;
colorPushButton->setText(tr("颜色对话框"));
fontPushButton = new QPushButton;
fontPushButton->setText(tr("字体对话框"));
fileLineEdit = new QLineEdit;
fontLineEdit = new QLineEdit;
fontLineEdit->setText(tr("hello world"));
colorFrame = new QFrame;
colorFrame->setFrameShape(QFrame::Box);
colorFrame->setAutoFillBackground(true);
layout->addWidget( filePushButton ,0,0);
layout->addWidget(fileLineEdit ,0,1);
layout->addWidget(colorPushButton ,1,0);
layout->addWidget(colorFrame ,1,1);
layout->addWidget(fontPushButton ,2,0);
layout->addWidget(fontLineEdit,2,1);
layout->setMargin(15);
layout->setSpacing(10);
connect(filePushButton,SIGNAL(clicked()),this,SLOT(slotOpenFileDlg()));
connect(colorPushButton,SIGNAL(clicked()),this,SLOT(slotOpenColorDlg()));
connect(fontPushButton,SIGNAL(clicked()),this,SLOT(slotOpenFontDlg()));
}
void StandardDialogs::slotOpenFileDlg()
{
QString s = QFileDialog::getOpenFileName(
this,
"open file dialog",
"~/",
"C++ files(*.cpp);;C files(*.c);;Head files(*.h)"
);
fileLineEdit->setText( s.toLatin1() );
}
void StandardDialogs::slotOpenColorDlg()
{
QColor color = QColorDialog::getColor(Qt::red);
if(color.isValid())
{
colorFrame->setPalette(QPalette(color));
}
}
void StandardDialogs::slotOpenFontDlg()
{
bool ok;
QFont font = QFontDialog::getFont(&ok);
if(ok)
{
fontLineEdit->setFont(font);
}
}
main.cpp文件
#include "standarddialogs.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
StandardDialogs w;
w.show();
return a.exec();
}
6、编译运行:点击锤子,点击绿色三角。
7、运行结果:
2、命名,存储路径,next。
3、next。
4、类名,头文件,源文件,选择基类为对话框,generate form不选,next,finish。
5、程序代码如下:
standarddialogs.h文件
#include<QDialog> #include<QGridLayout> #include<QPushButton> #include<QLineEdit> #include<QFrame> class StandardDialogs:public QDialog { Q_OBJECT public: StandardDialogs(QWidget *paremt=0,Qt::WindowFlags f=0); //~StandardDialogs(); public: QGridLayout *layout; QPushButton *filePushButton; QPushButton *colorPushButton; QPushButton *fontPushButton; QLineEdit *fileLineEdit; QLineEdit *fontLineEdit; QFrame *colorFrame; private slots: void slotOpenFileDlg(); void slotOpenColorDlg(); void slotOpenFontDlg(); };
standarddialogs.cpp文件
#include "standarddialogs.h"
#include <QFileDialog>
#include <QColorDialog>
#include <QFontDialog>
StandardDialogs::StandardDialogs( QWidget *parent,Qt::WindowFlags f )
:QDialog( parent,f )
{
setWindowTitle(tr("标准对话框"));
layout = new QGridLayout(this);
filePushButton = new QPushButton;
filePushButton->setText(tr("文件对话框"));
colorPushButton = new QPushButton;
colorPushButton->setText(tr("颜色对话框"));
fontPushButton = new QPushButton;
fontPushButton->setText(tr("字体对话框"));
fileLineEdit = new QLineEdit;
fontLineEdit = new QLineEdit;
fontLineEdit->setText(tr("hello world"));
colorFrame = new QFrame;
colorFrame->setFrameShape(QFrame::Box);
colorFrame->setAutoFillBackground(true);
layout->addWidget( filePushButton ,0,0);
layout->addWidget(fileLineEdit ,0,1);
layout->addWidget(colorPushButton ,1,0);
layout->addWidget(colorFrame ,1,1);
layout->addWidget(fontPushButton ,2,0);
layout->addWidget(fontLineEdit,2,1);
layout->setMargin(15);
layout->setSpacing(10);
connect(filePushButton,SIGNAL(clicked()),this,SLOT(slotOpenFileDlg()));
connect(colorPushButton,SIGNAL(clicked()),this,SLOT(slotOpenColorDlg()));
connect(fontPushButton,SIGNAL(clicked()),this,SLOT(slotOpenFontDlg()));
}
void StandardDialogs::slotOpenFileDlg()
{
QString s = QFileDialog::getOpenFileName(
this,
"open file dialog",
"~/",
"C++ files(*.cpp);;C files(*.c);;Head files(*.h)"
);
fileLineEdit->setText( s.toLatin1() );
}
void StandardDialogs::slotOpenColorDlg()
{
QColor color = QColorDialog::getColor(Qt::red);
if(color.isValid())
{
colorFrame->setPalette(QPalette(color));
}
}
void StandardDialogs::slotOpenFontDlg()
{
bool ok;
QFont font = QFontDialog::getFont(&ok);
if(ok)
{
fontLineEdit->setFont(font);
}
}
main.cpp文件
#include "standarddialogs.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
StandardDialogs w;
w.show();
return a.exec();
}
6、编译运行:点击锤子,点击绿色三角。
7、运行结果:
相关文章推荐
- linux窗口程序设计 Qt4精彩实例分析 pyqt实现 实例2 标准对话框的使用
- linux窗口程序设计 Qt4精彩实例分析 pyqt实现 实例47 获取本机网络信息
- linux窗口程序设计 Qt4精彩实例分析 pyqt实现 实例3 位置函数
- Qt4精彩实例分析笔记--各个位置信息
- Qt4精彩实例分析笔记--标准对话框的使用
- 关于ui的一些总结(参考Qt4精彩实例分析)
- PyQt4 精彩实例分析* 实例2 标准对话框的使用
- PyQt4 精彩实例分析* 实例9 利用Qt Designer设计一个对话框
- [转]*PyQt4 精彩实例分析* 实例10 …
- PyQt4 精彩实例分析 实例1 Hello Kitty!
- PyQt4 精彩实例分析* 实例11 动态加载Ui
- PyQt4 精彩实例分析* 实例1 Hello Kitty!
- PyQt4 精彩实例分析* 实例4 使用标准输入框
- PyQt4 精彩实例分析* 实例3 各类位置信息
- PyQt4 精彩实例分析* 实例6 实现QQ抽屉效果
- PyQt4 精彩实例分析* 实例9 利用Qt Designer设计一个对话框
- JavaScript程序设计高级算法之动态规划实例分析
- PHP面向对象程序设计实例分析
- 多线程的程序设计实例分析
- PyQt4 精彩实例分析* 实例7 表格的使用