C++ 按按钮单击控制qt中的循环
我是Qt新手,我正在尝试运行一个循环,使用QPainter更新QWidget。简而言之,我试图运行一个无限循环,通过点击按钮刷新QWidget(比如开始游戏)。然后我想在点击另一个按钮时停止循环(比如说结束游戏)。我还想了解获得此功能的更好方法 在我的MainWindow类中,我想启动一个包含类游戏对象的线程。当调用game->start\u game()方法时,一个无限循环开始。我想点击按钮开始循环。然后,单击另一个按钮“结束”时,循环应退出 我的游戏课:C++ 按按钮单击控制qt中的循环,c++,macos,qt,signals-slots,C++,Macos,Qt,Signals Slots,我是Qt新手,我正在尝试运行一个循环,使用QPainter更新QWidget。简而言之,我试图运行一个无限循环,通过点击按钮刷新QWidget(比如开始游戏)。然后我想在点击另一个按钮时停止循环(比如说结束游戏)。我还想了解获得此功能的更好方法 在我的MainWindow类中,我想启动一个包含类游戏对象的线程。当调用game->start\u game()方法时,一个无限循环开始。我想点击按钮开始循环。然后,单击另一个按钮“结束”时,循环应退出 我的游戏课: class Game : publi
class Game : public QObject
{
Q_OBJECT
public:
Game(int n);
~Game();
public slots:
void start_game();
void end_game();
signals:
void finish_game();
private:
int num;
};
游戏类方法的定义:
Game::Game(int n)
{
num = n;
}
void Game::start_game()
{
int i = 0;
while(true)
{
cout << "game loop started:" << i++ << endl;
}
//emit finish_thread();
}
void Game::end_game()
{
cout << "*************************end**************************" << endl;
emit finish_game();
}
Game::~Game()
{
}
Game::Game(int n)
{
num=n;
}
无效游戏::开始游戏()
{
int i=0;
while(true)
{
cout您的三角形是在z=-2
处绘制的。由于您似乎从未设置投影矩阵,因此它将保留在identity处,OpenGL将沿所有三维剪裁超出范围的任何内容[-1,1]
(不管你以什么角度旋转它,因为它会绕着西奥·里金旋转,它总是离原点2个单位)
当您学习OpenGL时,您应该知道,您使用的大多数GL功能自近十年来就已被弃用。在现代GL中,这些功能已被完全删除。您的书似乎已经过时。我只能建议您改为学习现代OpenGL。请在问题本身中提供答案。完成!感谢您让我确定现在
Game::Game(int n)
{
num = n;
}
void Game::start_game()
{
int i = 0;
while(true)
{
cout << "game loop started:" << i++ << endl;
}
//emit finish_thread();
}
void Game::end_game()
{
cout << "*************************end**************************" << endl;
emit finish_game();
}
Game::~Game()
{
}