直接从 小对话框里面读数据就完事了。
刚写的例子:
//////////////////////dialog.cpp
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this)
ui->lineEditPassword->setEchoMode(QLineEdit::Password)
}
Dialog::~Dialog()
{
delete ui
}
void Dialog::on_pushButtonLogin_clicked()
{
//获取数据
m_strUser = ui->lineEditUser->text()
m_strPassword = ui->lineEditPassword->text()
//校验数据
if(m_strUser.isEmpty() || m_strPassword.isEmpty())
{
QMessageBox::information(this, QString(tr("Tips"))
,QString(tr("User name or Password is empty!")))
//等待下次按钮
}
else
{
//正确的用户名和密码
this->accept()
}
}
void Dialog::on_pushButtonQuit_clicked()
{
this->reject()
}
////////////////////////////////mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "dialog.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
//
ui->setupUi(this)
//
Dialog* pDlgLogin = new Dialog(NULL)
//以模式对话框显示
int nResult = pDlgLogin->exec()
if(nResult != QDialog::Accepted)
{
//登录错误,退出
exit(1)
}
//正常登录
//读取用户名和密码
m_strUser = pDlgLogin->m_strUser
m_Password = pDlgLogin->m_strPassword
//设置标签为用户名
ui->labelUserName->setText(m_strUser)
//绑定退出信号到关闭槽函数
connect(ui->action_Quit, SIGNAL(triggered()), this, SLOT(close()))
//将主窗口移到指定位置
this->move(QPoint(0,0))
//
}
MainWindow::~MainWindow()
{
delete ui
}
CONNECT(Qdialog1,SIGNAL(strSignal(QString)),Qdialog1,
SLOT(strSlot(QString)));//信号发送过来
或者直接给个接口获取调用不就可以?- -!
1、广播的生命周期很短,经过 调用对象—实现onReceive—结束整个过程就结束了。从实现的复杂度和代码量来看,广播无疑是最迷你的Android
组件,实现往往只需几行代码。广播对象被构造出来后通常只执行BroadcastReceiver.onReceive方法,便结束了其生命周期。所以有
的时候我们可以把它当做函数看也未必不可。
2、和所有组件一样,广播对象也是在应用进程的主线程中被构造,所以广播对象的执行必须是要同步且快速的。也不在里面开子线程,因为往往线程还未结束,广播对象就已经执行完毕被系统销毁。如果需要完成一项比较耗时的工作
, 应该通过发送 Intent 给 Service, 由 Service 来完成。
3、每次广播到来时 , 会重新创建 BroadcastReceiver 对象 , 并且调用 onReceive() 方法 , 执行完以后 ,
该对象即被销毁 . 当 onReceive() 方法在 10 秒内没有执行完毕, Android 会认为该程序无响应。
由此我们可以看出,虽然广播可以实现跨进程通信,比如上文所说的通过广播改变另一应用的UI,但广播里面不建议(原因如上文红体字)执行耗时 *** 作,同时要注意到广播只可以被动的接收数据传递,然而接口定义语言可以在另一个进程执行耗时 *** 作。所以假如我们想要执行耗时 *** 作,又是跨进程通信的话,刚好AIDL又是基于service的,那么我们就可以选择用AIDL来实现了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)