Просмотр сообщений
|
Страниц: 1 ... 62 63 [64] 65
|
946
|
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)) А какой слот к нему нужно написать
|
|
|
947
|
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, а он растягивает на всю форму. Что делать?
|
|
|
948
|
Qt / Работа с сетью / Re: Пользовательский интерфейс
|
: Апрель 27, 2011, 15:27
|
По отдельности он вроде выполняет комамнду setGeometry а когда я делаю QVBoxLayout::addWidget то все не о каком размещении и размерах - т.е. как будто и ничего и не делал
|
|
|
953
|
Qt / Работа с сетью / Re: Работа с сетью
|
: Апрель 22, 2011, 12:49
|
Наверное надо делать как в Fortune Server Thread примерах Qt создать отдельно Окно(Qwidget),Server(QTcpServer) и ServerThread(QThread) - 3 объета
|
|
|
954
|
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)
|
|
|
956
|
Qt / Работа с сетью / Re: Работа с сетью
|
: Апрель 22, 2011, 12:04
|
???А почему он вызвается в главном потоке, когда я создаю его в конструкторе потока MyServerThread Что мне нужно сделать???
|
|
|
957
|
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); };
|
|
|
958
|
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 стоит последний ,через апт-гет на убунте проверил . какие телодвижения можно совершить?
|
|
|
959
|
Qt / Дополнительные компоненты / Re: Опять поповоду QextserialPort
|
: Апрель 20, 2011, 10:57
|
Скачал вашу новую версию по вашей ссылке , при запуске build в qtcreator мне пишет нета верси я qt , а при консольном строительстве выдает следующее root@demaker-1015P:/home/demaker/Downloads/qserialdevice-qserialdevice# make cd src/ && make -f Makefile make[1]: Entering directory `/home/demaker/Downloads/qserialdevice-qserialdevice/src' Makefile:307: warning: overriding commands for target `build/obj/ttylocker.o' Makefile:289: warning: ignoring old commands for target `build/obj/ttylocker.o' /usr/bin/moc-qt4 -DQT_NO_DEBUG -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4 -Iqserialdevice -Iqserialdeviceenumerator -Ibuild/moc qserialdevice/abstractserial.h -o build/moc/moc_abstractserial.cpp make[1]: /usr/bin/moc-qt4: Command not found make[1]: *** [build/moc/moc_abstractserial.cpp] Error 127 make[1]: Leaving directory `/home/demaker/Downloads/qserialdevice-qserialdevice/src' make: *** [sub-src-make_default] Error 2 root@demaker-1015P:/home/demaker/Downloads/qserialdevice-qserialdevice#
версия qt 4.7.0
|
|
|
960
|
Qt / Работа с сетью / Работа с сетью
|
: Апрель 20, 2011, 09:55
|
Помогите,что вот это значит: QPixmap: It is not safe to use pixmaps outside the GUI thread
|
|
|
|
|