Rioting erupted in the Ugandan capital on Friday after police arrested the country's main opposition leader while incoming election results showed President Yoweri Museveni leading in the presidential poll.
Kizza Besigye, Museveni's main challenger in Thursday's election, was first held up by soldiers inside his offices as he was preparing to give a press conference, his campaign chairman Wilberforce Kyambadde told dpa by telephone.
"They have locked us inside. The police is tear-gassing the whole area," he added.
A spokesman for Besigye's Forum for Democratic Change party then said police and the army stormed the offices.
"They grabbed Dr Besigye and took him away to an unknown place, along with others," Ibrahim Nganda Semuju said.
The highway leading to Entebbe airport was meanwhile blocked by Besigye supporters who were waging running battles with police.
Gunfire was heard around the city and tear gas drifted across areas such as Kisekka market, which is notorious for anti-government rallies.
The electoral commission meanwhile continued announcing preliminary results, saying Museveni had 62 per cent of the vote after nearly 30 per cent of ballots had been counted.
Besigye, who had already been arrested three times before and during the election, had 32 per cent.
The 71-year-old president took power in 1986 following a guerrilla campaign and has won four elections since 1996.
Critics say the government has resorted to a media clampdown, temporary arrests of the main opposition candidates and the backing of a militia-like group to allow Museveni to extend his three-decade rule.
Thursday's presidential and parliamentary elections were marred by delays and isolated incidents such as police using tear gas against some voters in a Kampala suburb.
Besigye was arrested on Thursday when inspecting a polling station, but released soon afterwards.
The government also shut down Twitter, Facebook and mobile money transactions on election day.
There was concern that accusations of rigging could spark a wave of violence.