用 Qt4 Designer 配合程序设计
来源:互联网 发布:中国软件开发公司排名 编辑:程序博客网 时间:2024/05/16 10:53
做个查找窗口界面。
创建一个目录,名为 myfind
cd /root/learn/qt4
mkdir myfind
cd myfind
打开 qt4 designer 点击菜单 Applications -> Programming -> Qt4 Designer 在 New Form 窗口里选择 Widget,如下图所示
拖放以下几个控件放入 Form 里,如下图所示:
从上至下,从左至右依次放的是:
Label, Line Edit, Horizontal Spacer, Push Button, Push Button
修改一下它们的属性 把 Form 的 text 改为 Find Text,把它的 objectName 改为 FormFindText 把 label 的 text 改为 Text to find 把两个按钮的 objectName 分别改为 pbnOK, pbnCancel,并把它们的 text 属性分别改为 OK,Cancel
添加 Layout 选中 label 和 lineEdit,选择菜单 Form -> Lay Out Horizontally 选中 Horizontal Spacer 和那两个按钮,选择菜单 Form -> Lay Out Horizontally 然后什么都不选,右键点击窗体空白处,选择菜单 Lay out -> Lay Out Vertically 如下图所示
保存窗体
点 File -> Save Form,把它存到 myfind 目录里,命名为 myfinddialog.ui。
编写启动函数(main)
打开 KDevelop,在 myfind 目录中新建文件 myfind.cpp,输入如下代码:
#include <QApplication>
#include <QDialog>
#include "ui_myfinddialog.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
Ui_FormFindText ui;
QDialog *dialog = new QDialog;
ui.setupUi(dialog);
dialog->show();
return app.exec();
}
编译运行
cd /root/learn/qt4/myfind
qmake-qt4 -project
qmake-qt4
make
./myfind 会得到下面的窗口:
加入几个事件
下面实现这个功能:当文本框中有输入的时候才让 OK 按钮有效,默认认它无效。
先把 pbnOK 按钮的 enabled 属性设置为 false,把 default 设为 true,然后加入 myfinddialog.h 和 myfinddialog.cpp,源代码分别如下所示:
// myfinddialog.h
#ifndef MY_FINDDIALOG___H #define MY_FINDDIALOG___H
#include <QDialog>
#include "ui_myfinddialog.h"
class MyFindDialog : public QDialog, public Ui_FormFindText
{
Q_OBJECT public: MyFindDialog(QWidget *parent = 0);
private slots: void on_textChanged();
};
#endif //
myfinddialog.cpp
#include <QtGui>
#include "myfinddialog.h"
MyFindDialog::MyFindDialog(QWidget *parent) : QDialog(parent)
{
setupUi(this);
connect(pbnOK, SIGNAL(clicked()), this, SLOT(accept()));
connect(pbnCancel, SIGNAL(clicked()), this, SLOT(reject()));
connect(lineEdit, SIGNAL(textChanged(const QString &)), this, SLOT(on_textChanged()));
}
void MyFindDialog::on_textChanged()
{
pbnOK->setEnabled(lineEdit->hasAcceptableInput());
}
修改启动函数内容
如下所示
#include <QApplication>
#include "myfinddialog.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MyFindDialog dialog;
dialog.show();
return app.exec();
}
重新编译运行
使用 qmake-qt4 重新生成工程文件 *.pro 和 makefile 文件,编译运行,随便在文本框里输入些东西,观察效果。
- 用 Qt4 Designer 配合程序设计
- 用 Qt4 Designer 配合程序设计
- QT4 DESIGNER 初体验
- QT4 Designer的使用
- Qt4 Designer的复活节彩蛋
- Qt4之 UI Designer设计
- QT4 Designer 初体验-转载(经典)
- QT4学习之designer的初步使用
- qt4 designer今天有重新复习了一下~
- QT4 designer生成的头文件的优化
- 修复 Eric 4.2.x 打开 Qt4 Designer 的问题
- QT4.7.1 + VS2008 + QT Designer开发流程心得
- 解决QT4 Designer的菜单无法显示问题
- QT4.8.6 Designer 集成VTK5.10.1 中QVTKWidgets插件
- Qt Creator2.0.0 与 Qt4.7.0的配合使用环境
- Linux下Qt Designer 程序设计步骤详解
- Linux下Qt Designer 程序设计步骤详解
- Designer
- oracle命令 收藏
- SYMBINN
- oracle里的常用命令
- Windows下命令行下启动ORACLE服务
- oracle产生随机数或字符串
- 用 Qt4 Designer 配合程序设计
- oracle 10g 安装完成后,无法登陆EM的解决办法
- 未能写入输出文件“c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files
- 几欲沉沦...
- js中innerHTML与innerText的用法与区别
- JavaScript 字符串转换数字
- Java的时间处理(续)
- RegSetValueEx()一点备注
- DOS的文件分配表策略的模拟实现