Queensland Liberal MP John McVeigh is resigning from federal parliament, triggering a by-election in the seat of Groom.

Dr McVeigh submitted his resignation on Friday morning with immediate effect due to his wife’s ill health.

The coalition holds the Toowoomba-based seat with a margin of 20.5 per cent.

Dr McVeigh was first elected in 2016 after stints in state parliament and local council.

He served in federal cabinet for eight months as the minister for regional development, territories and local government.

The by-election will be the second for the year after an earlier contest in the southern NSW seat of Eden-Monaro.