小编mr_*_*azz的帖子

调整 QLineEdit 的默认宽度

我正在尝试编写一个数独求解器,我目前想要实现的是将数独输入到 9 x 9 的网格中 QLineEdit字段。

网格是通过使用 9 个网格构建的QFrames,每个网格包含 9 个子类的网格QLineEdit小部件。

我面临的问题是,我无法找到一种方法来将QLineEdit小部件的默认大小更改为 25px x 25px,而不通过设置固定大小来限制它们的缩放。我已经尝试了该resize()函数并对类进行子QLineEdit类化以重新实现sizeHint(),但我似乎找不到调整这些小部件初始宽度的方法。

谁能帮帮我?

下面是 2 张图片:第一张是当前显示的窗口,第二张是我希望它显示的方式(= 相同的窗口,但在将宽度调整为最小之后)。

窗口出现的当前方式 窗口出现的所需方式
这是我的代码:sudokufield.h

#ifndef SUDOKUFIELD_H
#define SUDOKUFIELD_H
#include <QLineEdit>

class SudokuField : public QLineEdit
{
    Q_OBJECT
public:
    explicit SudokuField(QWidget *parent = 0);
    QSize sizeHint();
};

#endif // SUDOKUFIELD_H
Run Code Online (Sandbox Code Playgroud)

数独游戏

#include <QtGui>
#include "sudokufield.h"
SudokuField::SudokuField(QWidget *parent) :
    QLineEdit(parent)
{
    setMinimumSize(25, 25);
    setFrame(false);
    setStyleSheet(QString("border: 1px solid gray"));
    setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
    setValidator(new QIntValidator(1,9,this)); …
Run Code Online (Sandbox Code Playgroud)

c++ qt qlineedit

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

标签 统计

c++ ×1

qlineedit ×1

qt ×1