linux下,使用qt creator,按照<<C++ GUI Progamming with Qt4>>上的例子进行开发.
注意,这个不是用表单设计器做的,是使用layout手动做的.
最终结果截图如下:
核心代码如下:
FindDialog.h
#ifndef FINDDIALOG_H
#define FINDDIALOG_H
#include <QDialog>
#include <QCheckBox>
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>
class FindDialog : public QDialog{
Q_OBJECT
public:
FindDialog(QWidget *parent=0);
signals:
void findNext(const QString &str, Qt::CaseSensitivity cs);
void findPrevious(const QString &str, Qt::CaseSensitivity cs);
private slots:
void findClicked();
void enableFindButton(const QString &text);
private:
QLabel *label;
QLineEdit *lineEdit;
QCheckBox *caseCheckBox;
QCheckBox *backwardCheckBox;
QPushButton *findButton;
QPushButton *closeButton;
};
#endif // FINDDIALOG_H
FindDialog.cpp
#include <QtGui>
#include "FindDialog.h"
FindDialog::FindDialog(QWidget *parent):QDialog(parent){
label=new QLabel(tr("Find &what:"));
lineEdit=new QLineEdit;
label->setBuddy(lineEdit);
caseCheckBox=new QCheckBox(tr("Match &Case"));
backwardCheckBox=new QCheckBox(tr("Search &backward"));
findButton=new QPushButton(tr("&Find"));
findButton->setDefault(true);
findButton->setEnabled(false);
closeButton=new QPushButton(tr("Close"));
connect(lineEdit,SIGNAL(textChanged(QString)),
this, SLOT(enableFindButton(QString)));
connect(findButton, SIGNAL(clicked()),
this, SLOT(findClicked()));
connect(closeButton, SIGNAL(clicked()),
this, SLOT(close()));
QHBoxLayout *topLeftLayout = new QHBoxLayout;
topLeftLayout->addWidget(label);
topLeftLayout->addWidget(lineEdit);
QVBoxLayout *leftLayout = new QVBoxLayout;
leftLayout->addLayout(topLeftLayout);
leftLayout->addWidget(caseCheckBox);
leftLayout->addWidget(backwardCheckBox);
QVBoxLayout *rightLayout=new QVBoxLayout;
rightLayout->addWidget(findButton);
rightLayout->addWidget(closeButton);
rightLayout->addStretch();
QHBoxLayout *mainLayout=new QHBoxLayout;
mainLayout->addLayout(leftLayout);
mainLayout->addLayout(rightLayout);
setLayout(mainLayout);
setWindowTitle(tr("Find"));
setFixedHeight(sizeHint().height());
}
void FindDialog::findClicked(){
QString text = lineEdit->text();
Qt::CaseSensitivity cs=
caseCheckBox->isChecked()? Qt::CaseSensitive
:Qt::CaseInsensitive;
if(backwardCheckBox->isChecked()){
emit findPrevious(text,cs);
}else{
emit findNext(text,cs);
}
}
void FindDialog::enableFindButton(const QString &text){
findButton->setEnabled(!text.isEmpty());
}
分享到:
相关推荐
在本文中,我们将深入探讨如何在Qt程序中嵌入第三方的EXE外壳程序,并通过一个名为"QtEmbedOutDemo"的实例项目来演示这一过程。这个项目涉及到的主要知识点包括Qt框架、窗口部件(Widget)的使用、进程间通信(IPC)...
在Linux环境下,开发...通过以上步骤,我们可以成功地将Qt程序打包为一个独立的运行环境,使其能在多种Linux系统上运行,而无需额外安装Qt库。这个过程虽然相对复杂,但对于确保软件的可移植性和易用性是至关重要的。
标题“我的第一个QT程序”表明我们将讨论如何在QT环境中创建一个基础的“Hello, World!”程序。这通常是初学者入门QT编程的第一步,旨在熟悉环境设置、构建过程以及基础的代码编写。 描述中提到“building: hello...
在本文中,我们将深入探讨如何创建“我的第一个qt4程序”,这是一个使用Qt 4框架的简单应用程序。Qt 4是一个跨平台的C++图形用户界面工具包,它提供了丰富的库来构建桌面、移动和嵌入式系统的应用。在这个项目中,...
**Qt程序打包工具详解** Qt程序打包工具是用于将基于Qt框架开发的应用程序打包成可独立运行的可执行文件的工具。这样的工具简化了分发和安装过程,使得用户无需在目标计算机上安装完整的Qt库就能运行应用程序。本文...
名称:《Linux与Qt程序设计 (陈爽) 高清PDF》 包含Linux的概述 常用的命令 Linux系统的配置和安装,涵盖QT基础知识以及QT高级开发,对于初学者或中高级学者都适用。...第一部分:《Linux与Qt程序设计》.part1.rar
特别是对于那些资源有限的嵌入式系统而言,如何确保QT程序能够在系统启动时自动运行成为了一个非常重要的课题。本文将详细讲解在基于ARM架构的开发板上实现QT程序自启动的具体步骤,包括必要的库文件编译、环境变量...
QT5.14入门教程GUI(一)第一个QT程序Hello World! QT5.14入门教程GUI(一)第一个QT程序Hello World! QT5.14入门教程GUI(一)第一个QT程序Hello World!
适合初学者 1.从登陆窗口到主窗口 2.动态刷新显示时间 3.菜单栏添加图标及响应事件 4.登陆窗口两个lineedit 聚焦 5.演示状态栏使用 代码本来简单, 还有关键代码注释,所以不附上文档了。
我的第一个QT程序
【Qt程序独立运行exe打包】是指将...总之,Qt程序独立运行exe打包是一个将Qt应用简化为单一可执行文件的过程,通过结合`windeployqt`和`Enigma Virtual Box`,我们可以轻松地完成这一任务,使得程序更易于分发和使用。
该文档详细描述了QT平台下,让应用程序只运行一个实例的三种方法,并附有相应的代码。
我的第一个qt程序设计
《Qt程序开发完全手册SE(上)》是针对Qt编程的详尽教程,适用于初学者和有一定经验的开发者。Qt是一个跨平台的应用程序开发框架,它由Qt公司开发,广泛应用于桌面、移动设备以及嵌入式系统。本手册第二版旨在提供...
本文使用QtService演示如何实现一个windows下的后台进程,可用于一些简单的windows服务程序中。 博客介绍:https://luoyayun361.blog.csdn.net/article/details/120655011?spm=1001.2014.3001.5502
QT是一个跨平台的应用程序开发框架,用于创建图形用户界面和其他软件。本篇文章将详细探讨如何在CentOS上配置环境以运行QT 5.14版本的程序,尽管系统默认已经安装了QT 5.6。 首先,为了安装QT 5.14,我们需要从官方...
**第一步:设置变量和建立项目文件夹** 在开始编程之前,我们需要设置好环境变量,并创建一个专门的项目文件夹。进入Qt的根目录(例如:/opt/EmbedSky/Qte),然后运行`source setX86_QpeEnv`命令来设置环境。接着,...
1. **创建Qt界面**:使用Qt Designer或直接编写代码创建一个Qt界面,其中包括一个或多个按钮。这个按钮将作为触发运行外部exe程序的触发器。 2. **连接按钮信号与槽**:在Qt中,信号和槽机制是事件处理的核心。我们...
QT5是Qt开发框架的第五个主要版本,它是一个跨平台的应用程序开发工具包,支持Windows、Linux、macOS等多种操作系统。这篇文档将详细介绍在QT5中发布程序时需要的依赖库文件及其重要性。 首先,`icudt51.dll`是国际...