Просмотр сообщений
|
Страниц: 1 ... 62 63 [64] 65
|
947
|
Qt / Вопросы новичков / Re: QTabWidget
|
: Мая 04, 2011, 15:25
|
Что-то не помогает
connect(myTab,SIGNAL(currentChanged(int)),this,SLOT(setCurrentIndex(int))); так надо???
|
|
|
948
|
Qt / Вопросы новичков / QTabWidget
|
: Мая 04, 2011, 15:15
|
Подскажите пожалуйста, а как можно листать ТАБЫ Я вот создал три штуки, а вот на следующий попасть не могу  C++ (Qt) myTab = new QTabWidget(this); myWidget = new QWidget; myWidget2 = new QWidget; myWidget3 = new QWidget; myLayBoxWidget = new QVBoxLayout; myLayBoxWidget->addWidget(myTab); myTab->addTab(myWidget,QString("MY")); myTab->addTab(myWidget2,QString("MY2")); myTab->addTab(myWidget3,QString("MY3"));
Наверное надо использовать сигнал void currentChanged(int)) А какой слот к нему нужно написать 
|
|
|
949
|
Qt / Работа с сетью / Re: Пользовательский интерфейс
|
: Апреля 27, 2011, 15:41
|
Извините, что не понятно выразился ...
вот код
m_ptxt = new QTextEdit; QVBoxLayout* pvbxLayout = new QVBoxLayout; m_ptxt->setGeometry(0,0,100,50); pvbxLayout->addWidget(m_ptxt); setLayout(pvbxLayout);
хочу чтобы чтобы m_ptxt был 100 на 50, а он растягивает на всю форму. Что делать?
|
|
|
950
|
Qt / Работа с сетью / Re: Пользовательский интерфейс
|
: Апреля 27, 2011, 15:27
|
По отдельности он вроде выполняет комамнду setGeometry а когда я делаю QVBoxLayout::addWidget то все не о каком размещении и размерах - т.е. как будто и ничего и не делал 
|
|
|
955
|
Qt / Работа с сетью / Re: Работа с сетью
|
: Апреля 22, 2011, 12:49
|
Наверное надо делать как в Fortune Server Thread примерах Qt  создать отдельно Окно(Qwidget),Server(QTcpServer) и ServerThread(QThread) - 3 объета 
|
|
|
956
|
Qt / Работа с сетью / Re: Работа с сетью
|
: Апреля 22, 2011, 12:46
|
Попробовал QObject: Cannot create children for a parent that is in a different thread. (Parent is QTcpServer(0x8e0f880), parent's thread is QThread(0x8d96838), current thread is MyServerThread(0x8de1180) 
|
|
|
958
|
Qt / Работа с сетью / Re: Работа с сетью
|
: Апреля 22, 2011, 12:04
|
???А почему он вызвается в главном потоке, когда я создаю его в конструкторе потока MyServerThread  Что мне нужно сделать???
|
|
|
959
|
Qt / Работа с сетью / Работа с сетью
|
: Апреля 22, 2011, 11:02
|
Помогите  Выдается ошибка - хочу написать сервер и чтобы он начинал работать по нажатию кнопки, при этом вынес сервер в отдельный поток. QObject: Cannot create children for a parent that is in a different thread. (Parent is QNativeSocketEngine(0x9dae6e8), parent's thread is MyServerThread(0x9c47180), current thread is QThread(0x9bfc838)
Вот код: MyServer.CCP C++ (Qt) ========================================== MyServer::MyServer(QWidget *pwgt) { m_ptxt = new QTextEdit; pb_start = new QPushButton("START"); ServerThread = new MyServerThread; //QThread m_ptxt->setReadOnly(true); QVBoxLayout* pvbxLayout = new QVBoxLayout; pvbxLayout->addWidget(new QLabel("<H1>Server</H1>")); pvbxLayout->addWidget(m_ptxt); pvbxLayout->addWidget(pb_start); setLayout(pvbxLayout); connect(pb_start,SIGNAL(clicked()),ServerThread,SLOT(start())); connect(ServerThread,SIGNAL(signal_errorServer(QString)),m_ptxt,SLOT(append(QString))); connect(ServerThread,SIGNAL(signal_New_Connection(QString)),m_ptxt,SLOT(append(QString))); } MyServerThread::MyServerThread() { m_nNextBlockSize = 0; nPort = 502; m_ptcpServer = new QTcpServer; m_ptcpServer->moveToThread(this); } void MyServerThread::run()//(int nPort, QWidget* pwgt /*=0*/): QWidget(pwgt),m_nNextBlockSize(0) { /* OBRABOTKA OSHIBKI SOEDINENIA */ if(!m_ptcpServer->listen(QHostAddress::Any, nPort)) { emit signal_errorServer(m_ptcpServer->errorString()); m_ptcpServer->close(); return; } connect(m_ptcpServer, SIGNAL(newConnection()), this, SLOT(slotNewConnection()));*/ exec(); } /*virtual*/ void MyServerThread::slotNewConnection() { QTcpSocket* pClientSocket = m_ptcpServer->nextPendingConnection(); connect(pClientSocket, SIGNAL(disconnected()), pClientSocket, SLOT(deleteLater()) ); connect(pClientSocket, SIGNAL(readyRead()), this, SLOT(slotReadClient()) ); emit signal_New_Connection("New connection"); } void MyServerThread::slotReadClient() { QTcpSocket* pClientSocket = (QTcpSocket*)sender(); Buffer_IN.clear(); while( pClientSocket->bytesAvailable() ) Buffer_IN += pClientSocket->readAll(); CheckUp_Answer(); sendToClient(pClientSocket, Buffer_OUT); } void MyServerThread::sendToClient(QTcpSocket * pSocket, const QByteArray &arOut) { pSocket->write(arOut); } void MyServerThread::CheckUp_Answer() { for(int i = 1;i <= 200 ;i++) { Buffer_OUT[i+8] = 2*i; } }
MyServer.H C++ (Qt) ====================================== class MyServerThread: public QThread { Q_OBJECT private: int nPort; QByteArray Buffer_IN, Buffer_OUT; QTcpServer * m_ptcpServer; private: void sendToClient(QTcpSocket* pSocket, const QByteArray& arOut); void CheckUp_Answer(); public: MyServerThread(); void run(); signals: void signal_New_Connection(QString); void signal_errorServer(QString); public slots: virtual void slotNewConnection(); void slotReadClient(); }; //********************************************************************** class MyServer : public QWidget { Q_OBJECT private: MyServerThread *ServerThread; QTextEdit * m_ptxt; QPushButton *pb_start; public: MyServer(QWidget* pwgt = 0); };
|
|
|
960
|
Qt / Дополнительные компоненты / Re: Опять поповоду QextserialPort
|
: Апреля 21, 2011, 10:20
|
переустановил QT 4.7 , при сборке Buildlibrary выдает следущее /home/demaker/Downloads/BuildLibrary-build-desktop/src/../../qserialdevice-qserialdevice/src/qserialdeviceenumerator/serialdeviceenumerator_p_unix.cpp:35: error: libudev.h: No such file or directory udev стоит последний ,через апт-гет на убунте проверил . какие телодвижения можно совершить?
|
|
|
|
|