Вы можете установить начальное значение в компоненте:
startingyear = 1;
Переменная в вашем компоненте и представлении записываются не одинаково. Вот исправленное решение: https://stackblitz.com/edit/angular-8hx96x?file=src%2Fapp%2Fapp.component.ts
Я не знаю, попробовали ли Вы уже его, но QWidget::setFixedSize
должен сделать то, что Вы хотите
Необходимо изменить windowFlags диалогового окна и установить его на QT:: MSWindowsFixedSizeDialogHint.
Это только работает в окнах.
Для получения дополнительной информации посмотрите этот пример: http://doc.qt.digia.com/4.5/widgets-windowflags.html
Ошибка компиляции вы получаете, потому что вы пытаетесь передать QSizePolicy :: Policy
в setSizePolicy (QSizePolicy)
, но не существует неявного преобразования из QSizePolicy :: Policy
(т.е. политику для одного измерения) до QSizePolicy
(который представляет собой класс, содержащий, среди прочего, одну политику
для каждого измерения (высота, ширина)). QSizePolicy
в любом случае не работает с виджетами верхнего уровня (окнами).
setFixedSize ()
работает только в том случае, если вы заранее знаете размер диалогового окна (а обычно вы этого не делаете, что касается изменения размеров шрифта и языков). Вы можете сделать
window()->setFixedSize( window()->sizeHint() );
, но гораздо лучше использовать
window->layout()->setSizeConstraint( QLayout::SetFixedSize );
. Это позволяет макету определять размер диалогового окна, но не позволяет изменять размер, что, как я полагаю, именно то, о чем вы просили.