小编paz*_*uha的帖子

获取相对于Qt OpenGL小部件的鼠标坐标

我得到这样的鼠标坐标:

 winX = QCursor::pos().x();
Run Code Online (Sandbox Code Playgroud)

这些是整个屏幕的坐标.我需要得到相对于我的OpenGL小部件窗口的视口的坐标,所以我可以使用gluUnProject函数.

我怎样才能做到这一点?

opengl qt widget

2
推荐指数
1
解决办法
6011
查看次数

qt类中的服务器线程(需要互斥?)

我创建了这个服务器类,在新连接进入时启动一个线程.在某些情况下它可以运行,但它不是很稳定.我想解决它破裂的地方.我的调试器告诉我一些关于qmutex的事情.如果有人能发现问题.TY

它通过信号和插槽连接父节点并获取数据.

这是标题:

#ifndef FORTUNESERVER_H
#define FORTUNESERVER_H

#include <QStringList>
#include <QTcpServer>
#include <QThread>
#include <QTcpSocket>
#include <string>
using namespace  std;


class FortuneServer : public QTcpServer
{
    Q_OBJECT

 public:
    FortuneServer(QObject *parent = 0);

public slots:


void procesServerString(string serverString);
void getStringToThread(string serverString);

protected:
void incomingConnection(int socketDescriptor);

private:
QStringList fortunes;

signals:

void procesServerStringToParent(string serverString);
void getStringToThreadSignal(string serverString);
};


class FortuneThread : public QObject
 {
Q_OBJECT

public:
FortuneThread(int socketDescriptor, QObject *parent);

public slots:

void getString();
void sendString(string sendoutString);

signals:

void error(QTcpSocket::SocketError socketError);
void fromThreadString(string …
Run Code Online (Sandbox Code Playgroud)

c++ qt multithreading tcp

1
推荐指数
1
解决办法
1932
查看次数

qt类中的线程

我在qt应用程序中有这个类,它定义了一些数据:

class TableView:public QWidget 
{
  Q_OBJECT

  public:TableView (QWidget * parent = 0);

  std::vector < float >  arr;
Run Code Online (Sandbox Code Playgroud)

现在我想在另一个线程(可能来自这个类中)添加一个套接字服务器,当它从套接字中重新获取某些内容,计算新数据并返回时,能够从该类访问数据.

对于我使用的测试:

  //defines
  DWORD WINAPI SocketHandler(void* lp);
  DWORD WINAPI starttremeshserver(void* lp);


  CreateThread(0,0,&starttremeshserver, (void*)csock , 0,0);
Run Code Online (Sandbox Code Playgroud)

这有效.现在我需要简单且独立于平台的东西.也许是因为我在qt工作的qthread.

所以问题是,我可以在一个可以访问类数据的类中创建一个新的线程函数.TY

c++ qt multithreading

0
推荐指数
1
解决办法
1795
查看次数

标签 统计

qt ×3

c++ ×2

multithreading ×2

opengl ×1

tcp ×1

widget ×1