⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 client.cpp

📁 Linux下的基于X11的图形开发环境。
💻 CPP
字号:
/****************************************************************************** $Id: qt/client.cpp   3.1.1   edited Nov 8 10:35 $**** Copyright (C) 1992-2000 Trolltech AS.  All rights reserved.**** This file is part of an example program for Qt.  This example** program may be used, distributed and modified without limitation.*******************************************************************************/#include <qsocket.h>#include <qapplication.h>#include <qvbox.h>#include <qhbox.h>#include <qtextview.h>#include <qlineedit.h>#include <qlabel.h>#include <qpushbutton.h>#include <qtextstream.h>class Client : public QVBox{    Q_OBJECTpublic:    Client( const QString &host, Q_UINT16 port )    {	// GUI layout	infoText = new QTextView( this );	QHBox *hb = new QHBox( this );	inputText = new QLineEdit( hb );	QPushButton *send = new QPushButton( tr("Send") , hb );	QPushButton *close = new QPushButton( tr("Close connection") , this );	QPushButton *quit = new QPushButton( tr("Quit") , this );	connect( send, SIGNAL(clicked()), SLOT(sendToServer()) );	connect( close, SIGNAL(clicked()), SLOT(closeConnection()) );	connect( quit, SIGNAL(clicked()), qApp, SLOT(quit()) );	// create the socket and connect various of its signals	socket = new QSocket( this );	connect( socket, SIGNAL(connected()),		SLOT(socketConnected()) );	connect( socket, SIGNAL(connectionClosed()),		SLOT(socketConnectionClosed()) );	connect( socket, SIGNAL(readyRead()),		SLOT(socketReadyRead()) );	connect( socket, SIGNAL(error(int)),		SLOT(socketError(int)) );	// connect to the server	infoText->append( tr("Trying to connect to the server\n") );	socket->connectToHost( host, port );    }    ~Client()    {    }private slots:    void closeConnection()    {	socket->close();	if ( socket->state() == QSocket::Closing ) {	    // We have a delayed close.	    connect( socket, SIGNAL(delayedCloseFinished()),		    SLOT(socketClosed()) );	} else {	    // The socket is closed.	    socketClosed();	}    }    void sendToServer()    {	// write to the server	QTextStream os(socket);	os << inputText->text() << "\n";	inputText->setText( "" );    }    void socketReadyRead()    {	// read from the server	while ( socket->canReadLine() ) {	    infoText->append( socket->readLine() );	}    }    void socketConnected()    {	infoText->append( tr("Connected to server\n") );    }    void socketConnectionClosed()    {	infoText->append( tr("Connection closed by the server\n") );    }    void socketClosed()    {	infoText->append( tr("Connection closed\n") );    }    void socketError( int e )    {	infoText->append( tr("Error number %1 occurred\n").arg(e) );    }private:    QSocket *socket;    QTextView *infoText;    QLineEdit *inputText;};int main( int argc, char** argv ){    QApplication app( argc, argv );    Client client( argc<2 ? "localhost" : argv[1], 4242 );    app.setMainWidget( &client );    client.show();    return app.exec();}#include "client.moc"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -