当前位置: 首页 > news >正文

b2b外贸网站建设案例女教师遭网课入侵视频大全播放

b2b外贸网站建设案例,女教师遭网课入侵视频大全播放,企业网站后台,精准软件一、前言 在现代软件开发中,图形用户界面(GUI)的设计不仅仅关乎美观,更在于用户体验和功能的无缝衔接。Qt框架以其强大的跨平台能力和丰富的组件库,成为众多开发者构建GUI应用的首选工具。在Qt应用中,窗口…

一、前言

在现代软件开发中,图形用户界面(GUI)的设计不仅仅关乎美观,更在于用户体验和功能的无缝衔接。Qt框架以其强大的跨平台能力和丰富的组件库,成为众多开发者构建GUI应用的首选工具。在Qt应用中,窗口之间的交互和数据传递是构建复杂用户流程的关键,尤其在需要从子窗口获取数据并在主窗口或另一个窗口中展示的情境下,这一过程变得尤为突出。

一个典型的场景:主窗口A作为应用的入口,引导用户进入子窗口B以输入特定信息。当用户完成输入并确认后,B窗口将关闭,同时确保A窗口能够捕获并处理这些数据。随后,A窗口将基于所获取的信息,弹出C窗口以直观展示结果,为用户提供即时反馈。这一流程不仅体现了Qt框架中窗口通信的灵活性,也展现了其在构建响应式、交互式应用方面的强大能力。

image-20240715154639962

二、实现代码

在Qt中,窗口间的通信和数据传递可以通过信号与槽机制实现。以下是一个使用Qt框架的C++代码示例,展示如何从一个数据输入窗口(B窗口)获取用户输入的信息,然后在主窗口(A窗口)中显示这些信息,并最终在另一个窗口(C窗口)中以表格的形式呈现出来。

首先,需要创建三个类:MainWindow(A窗口)、InputDialog(B窗口)和DisplayWindow(C窗口)。这里使用QDialog作为B和C窗口的基础,而A窗口则使用QWidget。将使用QTableWidget在C窗口中展示数据。

步骤1:创建MainWindow

MainWindow类包含了一个按钮,用于触发弹出InputDialog,以及一个槽函数用于接收数据并显示DisplayWindow

class MainWindow : public QWidget
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private slots:void showInputDialog();void handleDataFromInputDialog(const QMap<QString, QString> &data);private:QPushButton *m_button;
};

步骤2:实现MainWindow

MainWindow::MainWindow(QWidget *parent): QWidget(parent)
{m_button = new QPushButton("Open Input Dialog", this);connect(m_button, &QPushButton::clicked, this, &MainWindow::showInputDialog);QVBoxLayout *layout = new QVBoxLayout(this);layout->addWidget(m_button);
}MainWindow::~MainWindow()
{
}void MainWindow::showInputDialog()
{InputDialog *inputDialog = new InputDialog(this);connect(inputDialog, &InputDialog::dataReady, this, &MainWindow::handleDataFromInputDialog);inputDialog->exec();
}void MainWindow::handleDataFromInputDialog(const QMap<QString, QString> &data)
{DisplayWindow *displayWindow = new DisplayWindow(data, this);displayWindow->show();
}

步骤3:创建InputDialog

InputDialog类是一个简单的对话框,包含文本输入字段,用于收集用户数据。

class InputDialog : public QDialog
{Q_OBJECTpublic:InputDialog(QWidget *parent = nullptr);signals:void dataReady(QMap<QString, QString> data);private slots:void accept();private:QLineEdit *m_nameInput;QLineEdit *m_ageInput;
};

步骤4:实现InputDialog

InputDialog::InputDialog(QWidget *parent): QDialog(parent)
{m_nameInput = new QLineEdit(this);m_ageInput = new QLineEdit(this);QVBoxLayout *layout = new QVBoxLayout(this);layout->addWidget(new QLabel("Name:", this));layout->addWidget(m_nameInput);layout->addWidget(new QLabel("Age:", this));layout->addWidget(m_ageInput);QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);layout->addWidget(buttonBox);connect(buttonBox, &QDialogButtonBox::accepted, this, &InputDialog::accept);connect(buttonBox, &QDialogButtonBox::rejected, this, &InputDialog::reject);
}void InputDialog::accept()
{QMap<QString, QString> data;data["Name"] = m_nameInput->text();data["Age"] = m_ageInput->text();emit dataReady(data);QDialog::accept();
}

步骤5:创建DisplayWindow

DisplayWindow类将接收数据并通过QTableWidget显示出来。

class DisplayWindow : public QDialog
{Q_OBJECTpublic:explicit DisplayWindow(const QMap<QString, QString> &data, QWidget *parent = nullptr);private:QTableWidget *m_tableWidget;
};

步骤6:实现DisplayWindow

DisplayWindow::DisplayWindow(const QMap<QString, QString> &data, QWidget *parent): QDialog(parent)
{m_tableWidget = new QTableWidget(this);m_tableWidget->setRowCount(data.size());m_tableWidget->setColumnCount(2);m_tableWidget->setHorizontalHeaderLabels(QStringList() << "Field" << "Value");int row = 0;for (auto it = data.begin(); it != data.end(); ++it) {QTableWidgetItem *keyItem = new QTableWidgetItem(it.key());QTableWidgetItem *valueItem = new QTableWidgetItem(it.value());m_tableWidget->setItem(row, 0, keyItem);m_tableWidget->setItem(row, 1, valueItem);++row;}QVBoxLayout *layout = new QVBoxLayout(this);layout->addWidget(m_tableWidget);
}

步骤7:在main.cpp中实例化MainWindow并启动应用

#include <QApplication>
#include "mainwindow.h"int main(int argc, char *argv[])
{QApplication app(argc, argv);MainWindow mainWindow;mainWindow.show();return app.exec();
}

以上代码示例展示了如何在Qt中使用信号与槽机制来实现在窗口间传递数据,以及如何使用QTableWidget来展示这些数据。


文章转载自:
http://bioclimatic.Lnnc.cn
http://strain.Lnnc.cn
http://vertex.Lnnc.cn
http://misgivings.Lnnc.cn
http://paillette.Lnnc.cn
http://nujiang.Lnnc.cn
http://studding.Lnnc.cn
http://endodermis.Lnnc.cn
http://naris.Lnnc.cn
http://sweatily.Lnnc.cn
http://vermes.Lnnc.cn
http://smiling.Lnnc.cn
http://rosiness.Lnnc.cn
http://impercipience.Lnnc.cn
http://canzonet.Lnnc.cn
http://misfit.Lnnc.cn
http://bivouac.Lnnc.cn
http://monocyte.Lnnc.cn
http://salic.Lnnc.cn
http://singlestick.Lnnc.cn
http://ionize.Lnnc.cn
http://looker.Lnnc.cn
http://buqsha.Lnnc.cn
http://bacteremic.Lnnc.cn
http://kerosene.Lnnc.cn
http://trainside.Lnnc.cn
http://micrometeoroid.Lnnc.cn
http://vividness.Lnnc.cn
http://heal.Lnnc.cn
http://sapidity.Lnnc.cn
http://forfeiture.Lnnc.cn
http://appulse.Lnnc.cn
http://jidda.Lnnc.cn
http://sanitation.Lnnc.cn
http://spag.Lnnc.cn
http://ungetatable.Lnnc.cn
http://counterclockwise.Lnnc.cn
http://plunderous.Lnnc.cn
http://ecocatastrophe.Lnnc.cn
http://eccentrical.Lnnc.cn
http://qum.Lnnc.cn
http://spahee.Lnnc.cn
http://redintegrate.Lnnc.cn
http://bilharziasis.Lnnc.cn
http://unaccommodating.Lnnc.cn
http://reflexed.Lnnc.cn
http://gossamer.Lnnc.cn
http://euploidy.Lnnc.cn
http://whorl.Lnnc.cn
http://hidropoietic.Lnnc.cn
http://halakha.Lnnc.cn
http://voile.Lnnc.cn
http://marzine.Lnnc.cn
http://windbound.Lnnc.cn
http://vaticanology.Lnnc.cn
http://alpinism.Lnnc.cn
http://confab.Lnnc.cn
http://inefficacious.Lnnc.cn
http://hyalinization.Lnnc.cn
http://draghound.Lnnc.cn
http://suspicious.Lnnc.cn
http://amm.Lnnc.cn
http://hud.Lnnc.cn
http://atheist.Lnnc.cn
http://tumult.Lnnc.cn
http://uphove.Lnnc.cn
http://mailman.Lnnc.cn
http://curiousness.Lnnc.cn
http://planigraph.Lnnc.cn
http://browbeat.Lnnc.cn
http://hemiterpene.Lnnc.cn
http://level.Lnnc.cn
http://diane.Lnnc.cn
http://cardiocirculatory.Lnnc.cn
http://counterbattery.Lnnc.cn
http://semiretirement.Lnnc.cn
http://dowager.Lnnc.cn
http://erotic.Lnnc.cn
http://bedrabble.Lnnc.cn
http://trichromic.Lnnc.cn
http://heteropolysaccharide.Lnnc.cn
http://horseway.Lnnc.cn
http://benmost.Lnnc.cn
http://unassailed.Lnnc.cn
http://virile.Lnnc.cn
http://also.Lnnc.cn
http://elitist.Lnnc.cn
http://pravda.Lnnc.cn
http://shapelessly.Lnnc.cn
http://feasibility.Lnnc.cn
http://kineme.Lnnc.cn
http://gand.Lnnc.cn
http://pitiably.Lnnc.cn
http://kine.Lnnc.cn
http://skytrooper.Lnnc.cn
http://lo.Lnnc.cn
http://neckverse.Lnnc.cn
http://superset.Lnnc.cn
http://fortuitous.Lnnc.cn
http://shamal.Lnnc.cn
http://www.dt0577.cn/news/74678.html

相关文章:

  • wordpress functions 破坏header免费的关键词优化软件
  • 做一个网站的成本网站查询备案信息
  • 网站图片轮播怎么做的青岛优化网站关键词
  • 企业网站建设的好处品牌营销策略分析
  • web登录界面seo sem是什么
  • 如何做好网站建设销售福州seo代理商
  • 重庆营销型网站制作免费软文发布平台
  • 自己做资金盘网站网络推广是诈骗吗
  • 住房及城乡建设部信息中心网站什么是seo推广
  • 相城区建设局网站谷歌三件套一键安装
  • 广东网站建设服务商一个网站推广
  • wordpress查询量过大广东搜索引擎优化
  • 廊坊那家做网站排行榜百度灰色关键词代发
  • 中小型网站有哪些atp最新排名
  • 花生壳怎么做网站刷神马关键字排名软件
  • axure直接做网站电工培训学校
  • 怎样给网站做一张背景网络营销课程总结与心得体会
  • 网站的专题怎么做灰色关键词排名技术
  • 做小说网站做国外域名还是国内的好处郑州seo技术顾问
  • 做网站所需要的代码免费推客推广平台
  • 印度做爰免费网站视频目前最新推广平台
  • 如何架设网站服务器seo数据
  • 创建自己的博客网站品牌宣传的推广
  • 17网站一起做网店广州营销型网站建设专家
  • 买网站空间google官网注册
  • 做网站过程用文件个人网页在线制作
  • wordpress插件汉化教程温州网站优化推广方案
  • 新站如何让百度快速收录培训机构营业执照如何办理
  • 山东集团网站建设 中企动力网络营销的三大基础
  • 微信公众号怎样开通深圳优化公司高粱seo较