前两天用qt写了一个记事本程序, 其中要实现查找功能。我们都知道点击记事本的查找按钮, 是会弹出一个对话框,如下图:
这里我们可以看到有两个窗口,问题是怎么把查找对话框的内容传送到主窗口呢? 毕竟是主窗口要搜索textedit实现查找的功能。
这里有两种方法:
方法一:使用signal/slots机制,建立两个窗口mainwindow 和 finddialog, finddialog给mainwindow 传值
话不多说,直接贴代码:
finddialog.h
#ifndef FINDDIALOG_H
#define FINDDIALOG_H
#include <QDialog>
#include <QTextDocument>
#include "public_define.h"
//#ifndef _MESSAGE_STRUCT_
//#define _MESSAGE_STRUCT_
//#endif
namespace Ui {
class FindDialog;
}
class FindDialog : public QDialog
{
Q_OBJECT
public:
explicit FindDialog(QWidget *parent = 0);
~FindDialog();
signals:
void SendFindText(QString &str);
void SendFindText(struct message_info &struct_message_info);
private slots:
void on_pushButton_find_clicked();
void on_pushButton_cancel_clicked();
private:
Ui::FindDialog *ui;
struct message_info m_stru_message_info;
};
#endif // FINDDIALOG_H
finddialog.cpp
#include "finddialog.h"
#include "ui_finddialog
Qt两个窗口传值:记事本查找示例

本文介绍了如何在Qt环境下实现记事本程序的查找功能,特别是两个窗口之间的值传递。通过示例代码,展示了使用signal/slots机制和直接在主窗口中管理对话框的两种方法,来实现查找对话框内容与主窗口的交互。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



