• 5695阅读
  • 7回复

[提问]QT实现点击按钮,与连接按钮中时间也变化//qDebug(tstr.toLatin1().data());什么作用? [复制链接]

上一主题 下一主题
离线r187111
 
只看楼主 倒序阅读 楼主  发表于: 2012-02-29
  1. #ifndef MAINWINDOW_H
  2. #define MAINWINDOW_H
  3. #include <QMainWindow>
  4. namespace Ui {
  5. class MainWindow;
  6. }
  7. class MainWindow : public QMainWindow {
  8. Q_OBJECT
  9. public:
  10. MainWindow(QWidget *parent = 0);
  11. ~MainWindow();
  12. protected:
  13. void changeEvent(QEvent *e);
  14. private:
  15. Ui::MainWindow *ui;
  16. public slots:
  17. void sendMysig();
  18. public :signals:
  19. void mySig(QString par);
  20. };
  21. #endif // MAINWINDOW_H


  1. #include "mainwindow.h"
  2. #include "ui_mainwindow.h"
  3. #include <QTime>
  4. MainWindow::MainWindow(QWidget *parent) :
  5. QMainWindow(parent),
  6. ui(new Ui::MainWindow)
  7. {
  8. ui->setupUi(this);
  9. connect(ui->bget,SIGNAL(clicked()),this,
  10. SLOT(sendMysig()));
  11. /*自定信号 和QLabel的槽绑定*/
  12. connect(this,SIGNAL(mySig(QString)),ui->res,
  13. SLOT(setText(QString)));
  14. }
  15. MainWindow::~MainWindow()
  16. {
  17. delete ui;
  18. }
  19. void MainWindow::changeEvent(QEvent *e)
  20. {
  21. QMainWindow::changeEvent(e);
  22. switch (e->type()) {
  23. case QEvent:anguageChange:
  24. ui->retranslateUi(this);
  25. break;
  26. default:
  27. break;
  28. }
  29. }
  30. void MainWindow::sendMysig(){
  31. QString tstr=QTime::currentTime().
  32. toString("hh:mm:ss");
  33. qDebug(tstr.toLatin1().data());
  34. /*发出自定义信号 */
  35. emit mySig(tstr);
  36. }
  1. #include <QtGui/QApplication>
  2. #include "mainwindow.h"
  3. int main(int argc, char *argv[])
  4. {
  5. QApplication a(argc, argv);
  6. MainWindow w;
  7. w.show();
  8. return a.exec();
  9. }


离线jdwx

只看该作者 1楼 发表于: 2012-03-01
qDebug(tstr.toLatin1().data());
作用是在QtCreator的应用程序输出窗口输出信息,
这个程序里是输出一个时间。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线r187111
只看该作者 2楼 发表于: 2012-03-06
回 1楼(jdwx) 的帖子
大哥//emit mySig(tstr);这什么意思啊?
离线jdwx

只看该作者 3楼 发表于: 2012-03-06
回 2楼(r187111) 的帖子
兄弟,代码里有注释啊!
/*发出自定义信号 */
emit mySig(tstr);
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线r187111
只看该作者 4楼 发表于: 2012-03-09
回 3楼(jdwx) 的帖子
connect(ui->bget,SIGNAL(clicked()),this,
SLOT(sendMysig()));
/*自定信号 和QLabel的槽绑定*/
connect(this,SIGNAL(mySig(QString)),ui->res,
SLOT(setText(QString)));
}
信号绑定怎么没有emit mySig(tstr);?
离线r187111
只看该作者 5楼 发表于: 2012-03-15
回 3楼(jdwx) 的帖子
aaaaaaaaaaaaaaaaaaaaaaa
离线jdwx

只看该作者 6楼 发表于: 2012-03-15
emit 是发射信号的意思。
mySig(tstr)才是信号。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线hexie
只看该作者 7楼 发表于: 2012-03-15
建议先去简单的看下信号槽的简介,10分钟都不用
快速回复
限100 字节
 
上一个 下一个