I have an existing PPA for a Qt-based application that dates back to xenial that I recently updated to support bionic. I did this by just checking in all the changes required for bionic (in particular a switch from a third-party Qt PPA to the distro-provided Qt since that the version in the distro is sufficient in bionic) as an update to the launchpad project using bzr, thus abandoning the older version.
At risk of stating the obvious, to disambiguate the question, my package depends on (and lists as dependencies) the packages of the Qt components that the software uses. In practice this is so that required libraries are installed automatically when the user installs the package from my PPA. In principle I could create a package that did not explicitly depend on anything and the user could manually install the required libraries, but that would defeat the purpose of using a PPA. The third party Qt PPA used in the xenial version of my package uses different package names and versions than the distro-provided Qt from bionic, so the dependency lists must be different; the package cannot simply be copied to support both distros, and redeploying the package to the other distro with the same control file contents will not work.
In principle packages for different Ubuntu versions could need to be maintained in parallel; what is the right way to do that from the packaging, launchpad, and PPA infrastructure? The distribution field in debian/changelog allows multiple values, but I don't see a way vary the control settings for each.