zoukankan      html  css  js  c++  java
  • QT学习笔记2

    初探信号槽

      代码如下:

     QPushButton *button=new QPushButton("quit");
     QObject::connect(button,SIGNAL(clicked()),&a,SLOT(quit()));
     button->show();
    

     QObject是所有类的根。Qt使用这个QObject实现了一个单根继承的C++。它里面有一个connect静态函数,用于连接信号槽。注意是静态函数::static。

       发出信号的对象指针: button

      SIGNAL 信号: clicked 点击鼠标新红

       接收信号的对象指针: &a

       槽函数SLOT: quit()

      这种信号槽机制的原理就是指定两个对象,一个对象发出信号,一个对象响应信号。实际上和MFC的消息响应机制类似,信号就是消息,也就是可以自定义消息。槽函数就是消息响应函数,用来响应消息,做具体的任务。

    组件布局

     注意一点,在组件进行信号槽连接时,信号和槽如果有参数,必须加上!

    QWidget* myWidget=new QWidget;
    myWidget->setWindowTitle("Enter your age");

    QSlider* mySlider=new QSlider(Qt::Horizontal);
    QSpinBox *mySpinBox=new QSpinBox;
    mySlider->setRange(0,100);
    mySpinBox->setRange(0,100);

    QSlider* mySlider1=new QSlider(Qt::Horizontal);
    QSpinBox *mySpinBox1=new QSpinBox;
    mySlider1->setRange(0,100);
    mySpinBox1->setRange(0,100);

    QObject::connect(mySpinBox,SIGNAL(valueChanged(int)),mySlider,SLOT(setValue(int)));
    QObject::connect(mySlider,SIGNAL(valueChanged(int)),mySpinBox,SLOT(setValue(int)));
    mySpinBox->setValue(50);

    QObject::connect(mySpinBox1,SIGNAL(valueChanged(int)),mySlider1,SLOT(setValue(int)));
    QObject::connect(mySlider1,SIGNAL(valueChanged(int)),mySpinBox1,SLOT(setValue(int)));

    QHBoxLayout *myHoxlayout=new QHBoxLayout;
    myHoxlayout->addWidget(mySlider);
    myHoxlayout->addWidget(mySpinBox);
    QVBoxLayout *myVoxlayout=new QVBoxLayout;
    myVoxlayout->addLayout(myHoxlayout);
    myVoxlayout->addWidget(mySlider1);
    myVoxlayout->addWidget(mySpinBox1);
    myWidget->setLayout(myVoxlayout);
    myWidget->show();

      布局的关键在于QHBoxLayout QVBoxLayout。layout使用addWidget添加组件,使用addLayout可以添加子布局。窗口通过setLayout进行布局设置。

          程序运行结果

           

    API文档的使用

    QT的文档可以在可以在Qt的安装目录下的bin里面的assistant.exe中看到Qt的文档。

  • 相关阅读:
    使用Java+SAP云平台+SAP Cloud Connector调用ABAP On-Premise系统里的函数
    使用Java程序消费SAP Leonardo的机器学习API
    如何在SAP Server Side JavaScript里消费destination
    使用HANA Web-based Development Workbench创建最简单的Server Side JavaScript
    如何用WebIDE打开并运行CRM Fiori应用
    SAP成都研究院的体育故事
    ABAP和Java的destination和JNDI
    使用SAP云平台 + JNDI访问Internet Service
    让SAP云平台上的Web应用使用destination服务
    如何处理SAP HANA Web-Based Development Workbench的403 Forbidden错误
  • 原文地址:https://www.cnblogs.com/love6tao/p/5196465.html
Copyright © 2011-2022 走看看