我正在尝试开发一个井字游戏,我将在 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/