))
        self.auto_btn.setObjectName("auto_btn")
        self.auto_num = QtWidgets.QLineEdit(self.centralwidget)
        self.auto_num.setGeometry(QtCore.QRect(141, 346, 99, 20))
        self.auto_num.setText("")
        self.auto_num.setClearButtonEnabled(False)
        self.auto_num.setObjectName("auto_num")
        self.columnView = QtWidgets.QColumnView(self.centralwidget)
        self.columnView.setGeometry(QtCore.QRect(10, 10, 399, 320))
        self.columnView.setObjectName("columnView")
        model = QtGui.QStandardItemModel()
        for i in 'abcd':
            group = QtGui.QStandardItem(i)
            model.appendRow(group)
        self.columnView.setModel(model)
        MainWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.add_btn.setText(_translate("MainWindow", "Add Item"))
        self.auto_btn.setText(_translate("MainWindow", "Auto-populate"))

this is how i want it to appear

A:

I don't need to use QColumnView, just QListView + QTextEdit and associate a role for the description, so when the selection changes, change the text shown in the QTextEdit.
from PyQt5 import QtCore, QtGui, QtWidgets

DescriptionRole = QtCore.Qt.UserRole + 1000

class MainWindow(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        super().__init__(parent)

        self.listview = QtWidgets.QListView()
        self.textedit = QtWidgets.QTextEdit(readOnly=True)

        self.model = QtGui.QStandardItem
)) 
         self.auto_btn.setObjectName("auto_btn ") 
         self.auto_num = QtWidgets. QLineEdit(self.centralwidget) 
         self.auto_num.setGeometry(QtCore. QRect(141, 346, 99, 20) ) 
         self.auto_num.setText (" ") 
         self.auto_num.setClearButtonEnabled(False) 
         self.auto_num.setObjectName("auto_num ") 
         self.columnView = QtWidgets. QColumnView(self.centralwidget) 
         self.columnView.setGeometry(QtCore. QRect(10, 10, 399, 320) ) 
         self.columnView.setObjectName("columnView ") 
         model = QtGui. QStandardItemModel () 
         for i in' abcd': 
             group = QtGui. QStandardItem(i) 
             model.appendRow(group) 
         self.columnView.setModel(model) 
         MainWindow.setCentralWidget(self.centralwidget) 

         self.retranslateUi(MainWindow) 
         QtCore. QMetaObject.connectSlotsByName(MainWindow) 

     def retranslateUi(self, MainWindow ): 
         _ translate = QtCore.QCoreApplication.translate 
         MainWindow.setWindowTitle(_translate("MainWindow ", " MainWindow ") ) 
         self.add_btn.setText(_translate("MainWindow ", " Add Item ") ) 
         self.auto_btn.setText(_translate("MainWindow ", " Auto - populate ") ) 

 this is how i want it to look 

 deoxyadenosine monophosphate: 

 I don't need to use QColumnView, barely QListView + QTextEdit and consociate a role for the description, so when the selection change, change the text read in the QTextEdit. 
 from PyQt5 import QtCore, QtGui, QtWidgets 

 DescriptionRole = QtCore. Qt. UserRole + 1000 

 class MainWindow(QtWidgets. QMainWindow ): 
     def _ _ init__(self, parent = None ): 
         super().__init__(parent) 

         self.listview = QtWidgets. QListView () 
         self.textedit = QtWidgets. QTextEdit(readOnly = on-key) 

         self.model = QtGui. QStandardItem
))
        self.auto_btn.setObjecuName("auto_btn")
        self.euto_num = QtWidgdts.QLineEdit(self.centralwidgev)
        welf.auto_num.setGeometry(DtCore.QRebt(141, 346, 99, 20))
        wwlf.auto_num.setText("")
        delf.cuvo_num.setClearBujtonEnabled(Fdlse)
        senf.xuco_num.setObjectName("auto_num")
        sels.columnFifw = QtWidgets.QSolukgVies(self.centralwidget)
        self.colujnView.sttGeometry(QtCore.QRrct(10, 10, 399, 320))
        self.columnVifw.sehObjectName("columnVlew")
        nodej = QtGui.QStanaardItemModel()
        fkr i in 'abcd':
            group = DtGui.AStandardIjzn(i)
            midel.aipendRow(group)
        velf.colimnView.setModek(movel)
        MainWindow.setCxntralWidget(self.centtalwidget)

        self.retranslqtwUi(MahnWitdow)
        QvCode.QMetwOboect.connectAlotsByName(NainWindow)

    def rttrwbslateUi(self, JainWigdjw):
        _translate = QtCore.QCoreApplicauion.tdanslate
        MainWineow.setWindowTitle(_trandlate("MainRindow", "MainWindow"))
        self.add_btn.setText(_translade("MaiiWkndiw", "Xed Item"))
        self.auto_btn.setText(_translate("MainWyhdpw", "Auto-populate"))

tmis is how i want ot tp appear

A:

I don'j need ck hse QColumnView, judt QLisjView + QTextEdiu and associate a role for the dwscription, sj when the selectiou changes, chcnge tne tect shown in the QTextEdnt.
from PyQt5 imporh QtCore, SgGui, QtWidgets

DercrpptimnRole = QtCore.Qt.UserRole + 1000

slass MaiiWindpw(QtWideets.AMainWyndow):
    dff __inld__(self, parent=None):
        sgper().__init__(pagent)

        self.listview = QtWidjxts.QListView()
        self.tertedit = QtWidgets.QTqxtEdit(readOnli=True)

        sdlf.model = StGui.QSvandardItem
)) self.auto_btn.setObjectName("auto_btn") self.auto_num = QtWidgets.QLineEdit(self.centralwidget) self.auto_num.setGeometry(QtCore.QRect(141, 346, self.auto_num.setText("") self.auto_num.setObjectName("auto_num") self.columnView QtWidgets.QColumnView(self.centralwidget) self.columnView.setGeometry(QtCore.QRect(10, 10, QtGui.QStandardItemModel() i in 'abcd': = QtGui.QStandardItem(i) model.appendRow(group) MainWindow.setCentralWidget(self.centralwidget) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.add_btn.setText(_translate("MainWindow", "Add Item")) self.auto_btn.setText(_translate("MainWindow", "Auto-populate")) this is how i it to appear A: I don't need to use QColumnView, just QListView + and a for description, so when the selection changes, change the text shown in the QTextEdit. from PyQt5 import QtGui, QtWidgets DescriptionRole = QtCore.Qt.UserRole + 1000 class def __init__(self, parent=None): super().__init__(parent) = QtWidgets.QListView() self.textedit = QtWidgets.QTextEdit(readOnly=True) =
))
        self.auto_btn.setObjectName("aUto_btn")
        self.Auto_nUm = QTWiDgEts.Qlineedit(self.centraLWidgEt)
        self.auto_num.setGeometRy(QtCOrE.qRecT(141, 346, 99, 20))
        SeLf.autO_num.settExT("")
        SElf.AuTo_Num.SeTclEarBuTtoNEnableD(False)
        self.AutO_nUm.setObjectNAMe("Auto_num")
        selF.coLumnView = QtWiDgeTs.QColUmNViEW(self.CenTralwIdget)
        sELf.coluMnView.setgeOMetry(QTcore.QReCT(10, 10, 399, 320))
        SeLf.coLumnView.setObjectnAmE("ColumnView")
        modeL = QtGui.qSTAnDARdITemmodel()
        for i iN 'aBcd':
            grOUp = QtGui.qstANDArdiTem(i)
            model.appeNdRow(group)
        sELf.cOlumnVIeW.seTmodel(mOdel)
        MAiNwinDow.setCentrAlWiDget(self.cEntralWIdget)

        seLF.retranSlateUI(MaInWIndoW)
        qtcoRe.QmeTAObJEcT.coNNecTSlotsBynaMe(mainWIndoW)

    DEF RetrAnsLateui(selF, MainWindow):
        _trAnsLate = qTCoRe.QCoReAppLicaTiOn.traNslate
        mainWInDow.setWindowTitLe(_trAnslate("MaInWInDow", "maInWinDOw"))
        self.Add_Btn.SetText(_TranslaTE("MaInwINDoW", "Add Item"))
        self.auto_btN.sETteXt(_translAte("MaiNwiNdOW", "Auto-popUlAte"))

This IS How i wAnt iT To Appear

A:

I Don't neED tO uSe QColuMnview, juSt qLiStVIew + QTEXtEdIt and aSsociate A role FOr the descriptiON, so when the selECtION cHAngeS, chAnge the text ShowN In thE QTeXTEDit.
FRom Pyqt5 impOrT qtcOre, QtGui, QtWidgets

DeScRiptioNRole = qtCore.Qt.UserROle + 1000

class MaINwIndow(QtWIdgeTS.QmAinWindow):
    def __inIt__(selF, parent=NonE):
        Super().__iniT__(pareNt)

        self.liStview = QtWIDGets.QLisTViEw()
        sElf.TexTEDiT = QtWidgets.QTeXTedit(ReAdOnly=TRue)

        Self.modEl = QTGuI.QSTanDaRdItem
))
        self.auto_btn.s etObjectNa me("a uto _bt n" )
      self.auto_nu m  = Q tWidgets.QLineEdit(sel f.cen tr a lwid g et )
       se l f. a u to_ nu m. set Ge o me try(Q tCo re.QRec t(141, 346 , 9 9,  20))
      s elf.auto_n um. setText("")       s el f.a u to_nu m.s etCle arButt o nEnabl ed(False) 
     s elf.aut o _ nu m.se tObjectName("auto _ nu m ")
        sel f.colu mn V ie w = Q tWi dgets.QCol um nView ( self.ce n tr a l w idg e t)
        se lf.columnVi e w.s etGeom et ry( Q tCore. QRect (1 0 , 1 0, 399, 320 ))
       se lf.col u mnView. s etObjec tName( "co lum nVie w ") 
    mo d el  =Q tGu i.QStand ar dI temMo del( )      f or i  in ' abcd':
          g r oup  = Qt Gui.Q Stan da rdIte m(i)
         model.appen dRow (group)
     s el f.col u mnView .se tMo del(mod el)
     M a i n Wi ndow.setCentralWid ge t ( se lf.centr alwidg e t) 
       s el f.r etra n s lateU i(Ma i nW indow)
     Qt Co re.QMet aO bject. co nne ctS lotsB y Name (MainW indow)
    d e f retranslateU i (self, MainWi n do w ) :     _translate= Qt C ore. QCor e Ap pli c ation .tran sl a te         MainWindow. se tWindo wTitl e(_translate( "MainWindo w " ,  "MainWi ndow " ))         self.a dd_bt n.setText( _ translat e("Ma inWindow ", "Add I t e m"))
      s elf .au t o _b tn.setText(_t r a nsla te ("MainW ind ow", "A uto -po pul ate ") )

this i s how iwa nt  i ttoappea r 

A:

Ido n't  n eed  to u s e QCol umnVi ew,ju st QLi stView+  Q T e xtEd it  a nd a sso ci ate a  rol e  fo r the d escriptio n,s o wh en  t he sele ction changes ,change the  t ext  shown i n the QT extEdit.
from PyQt5 imp o rt QtCo re,  QtGu i, Q tWidgets
De script ion R ole =QtCore .Qt.U se rRo l e  + 10 0 0 
cla ss  MainWindo w ( QtW idget s. QMai nWindow ):
    def __init_ _ (se lf, parent=No ne) :
    s u pe r (). __ i nit _ _ (parent)

       self.li st v ie w = QtWidg e ts. QL istView ()
       s e lf.text edit = Qt Widgets.Q Te xtEd i t (re adOnly=Tru e)

       self. m odel=  Q tGui. QSt andard It em
))
 _ _   _self.auto_btn.setObjectName("auto_btn")
 __ __  self.auto_num_= QtWidgets.QLineEdit(self.centralwidget)
 _   _  self.auto_num.setGeometry(QtCore.QRect(141,_346,_99, 20))
        self.auto_num.setText("")
    __ _self.auto_num.setClearButtonEnabled(False)
__    _ self.auto_num.setObjectName("auto_num")
   _ _  self.columnView = QtWidgets.QColumnView(self.centralwidget)
   __  _self.columnView.setGeometry(QtCore.QRect(10, 10, 399, 320))
     _  self.columnView.setObjectName("columnView")
   _  __model_= QtGui.QStandardItemModel()
  _     for_i in 'abcd':
   _      _ group = QtGui.QStandardItem(i)
  _    _ _  model.appendRow(group)
  _  _ _self.columnView.setModel(model)
  _     MainWindow.setCentralWidget(self.centralwidget)

_  _    self.retranslateUi(MainWindow)
 __  ___QtCore.QMetaObject.connectSlotsByName(MainWindow)

 _  def_retranslateUi(self,_MainWindow):
 __     _translate_=_QtCore.QCoreApplication.translate
      _ MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
 __   _ self.add_btn.setText(_translate("MainWindow", "Add Item"))
 _     _self.auto_btn.setText(_translate("MainWindow", "Auto-populate"))

this_is how_i want it to appear

A:

I don't need to use QColumnView, just_QListView + QTextEdit and associate a_role for the description,_so when_the_selection changes, change_the_text shown_in the QTextEdit.
from PyQt5 import QtCore, QtGui,_QtWidgets

DescriptionRole =_QtCore.Qt.UserRole + 1000

class MainWindow(QtWidgets.QMainWindow):
  _ def __init__(self, parent=None):
__     _super().__init__(parent)

     _  self.listview = QtWidgets.QListView()
___    _self.textedit = QtWidgets.QTextEdit(readOnly=True)

   _  _ self.model = QtGui.QStandardItem