我正在尝试开发一个井字游戏,我将在 QMainWindow 中央小部件中放置一个 QGridLayout。在那里,我打算添加其他小部件(棋盘单元)和分隔游戏单元的线条。

这可能吗?我找不到任何 API 来在 QGridLayout 中插入 QLine ..

如果这是不可能的,我可以将子小部件直接放在 QMainWindow 的中央小部件上吗?如果是这样,如何?

最佳答案

是的,您可以在容器小部件中使用 QGridLayout 制作井字游戏。

关于线:它是 Qt Designer 提供的一个方便的工具,它不直接存在。实际上,一行是经过一些重新设计的 QFrame:

QFrame* line = new QFrame();
line->setGeometry(QRect(/* ... */));
line->setFrameShape(QFrame::HLine); // Replace by VLine for vertical line
line->setFrameShadow(QFrame::Sunken);

你应该给这个框架一个非空的高度(或垂直框架的宽度),例如 2 像素。 GUI 中的线条只能是水平或垂直的。

注意 :当您不知道 Qt Designer 中的小部件是如何完成的(即使是 Qt Creator 中包含的小部件),您应该创建一个仅包含所需小部件的对话框,然后查看生成的代码。

关于c++ - 如何将 QLine 添加到 QGridLayout,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11378057/

10-11 22:53