zoukankan      html  css  js  c++  java
  • Qt入门(13)——Qt的调用退出

    如果我们创建了一个窗口,接下来使这个应用程序在用户让它退出的时候退出。


        #include <qfont.h>
    因为这个程序使用了QFont,所以它需要包含qfont.h。Qt的字体提取和X中提供的可怕的字体提取大为不同,字体的载入和使用都已经被高度优化了。
            QPushButton quit( "Quit", 0 );
    这时,按钮显示“Quit”,确切的说这就是当用户点击这个按钮时程序所要做的。这不是一个巧合。因为这个按钮是一个顶层窗口,我们还是把0作为它的父对象。
            quit.resize( 75, 30 );
    我们给这个按钮选择了另外一个大小,因为这个文本比“Hello world!”小一些。我们也可以使用QFontMetrics来设置正确的大小。
            quit.setFont( QFont( "Times", 18, QFont::Bold ) );
    这里我们给这个按钮选择了一个新字体,Times字体中的18点加粗字体。注意在这里我们调用了这个字体。
    你也可以改变整个应用程序的默认字体(使用QApplication::setFont())。
            QObject::connect( &quit, SIGNAL(clicked()), &a, SLOT(quit()) );
    connect也许是Qt中最重要的特征了。注意connect()是QObject中的一个静态函数。不要把这个函数和socket库中的connect()搞混了。
    这一行在两个Qt对象(直接或间接继承QObject对象的对象)中建立了一种单向的连接。每一个Qt对象都有signals(发送消息)和slots(接收消息)。所有窗口部件都是Qt对象。它们继承QWidget,而QWidget继承QObject。
    这里quit的clicked()信号和a的quit()槽连接起来了,所以当这个按钮被按下的时候,这个程序就退出了。
    信号和槽文档详细描述了这一主题。

    #include <qapplication.h>
    #include <qpushbutton.h>
    #include <qfont.h>
    
    int main( int argc, char **argv )
    {
        QApplication a( argc, argv );
    
    
        QPushButton quit( "Quit", 0 );
        quit.resize( 75, 30 );
        quit.setFont( QFont( "Times", 18, QFont::Bold ) );
    
    
        QObject::connect( &quit, SIGNAL(clicked()), &a, SLOT(quit()) );
    
    
        a.setMainWidget( &quit );
        quit.show();
        return a.exec();
    }




  • 相关阅读:
    HDU 5486 Difference of Clustering 图论
    HDU 5481 Desiderium 动态规划
    hdu 5480 Conturbatio 线段树 单点更新,区间查询最小值
    HDU 5478 Can you find it 随机化 数学
    HDU 5477 A Sweet Journey 水题
    HDU 5476 Explore Track of Point 数学平几
    HDU 5475 An easy problem 线段树
    ZOJ 3829 Known Notation 贪心
    ZOJ 3827 Information Entropy 水题
    zoj 3823 Excavator Contest 构造
  • 原文地址:https://www.cnblogs.com/new0801/p/6176887.html
Copyright © 2011-2022 走看看