Mam QTabWidget i QPlainTextEdit wewnątrz QVBoxLayout.

Jak ustawić szerokość pola tekstowego na taką samą, jak widżet na karcie, a nie na szerokość całego obiektu QTabWidget? Na poniższym obrazku chcę usunąć małą część, która wychodzi poza stronę z zakładką po lewej stronie.

Kod podstawowy:

import sys
from PySide.QtGui import *
from PySide.QtCore import *
class test(QWidget):
    def __init__(self,parent=None):
        super(test,self).__init__(parent)
        VLayout = QVBoxLayout(self)
        tabs = QTabWidget()
        line = QLineEdit()
        tabs.addTab(line,"Tab")

        tabs.setTabPosition(QTabWidget.West)
        textBox = QPlainTextEdit()

        VLayout.addWidget(tabs)
        VLayout.addWidget(textBox)
        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    mainWin = test()
    ret = app.exec_()
    sys.exit( ret )

enter image description here

0
Shock-o-lot 20 grudzień 2019, 04:30
Dodaj swój kod, abyśmy mogli zdiagnozować problem
 – 
nathancy
20 grudzień 2019, 04:32
To bardzo prosty kod. Dodałem to.
 – 
Shock-o-lot
20 grudzień 2019, 04:40
@Shock-o-lot QLineEdit czy QPlainTextEdit?
 – 
eyllanesc
20 grudzień 2019, 04:44
Drugim widżetem w układzie pionowym jest QPlainTextEdit
 – 
Shock-o-lot
20 grudzień 2019, 04:47
@Shock-o-lot W tytule wskazujesz: Jak dopasować szerokość QLineEdit do szerokości widżetu wewnątrz QTabWidget? ale z treści twojej publikacji wywnioskuję chcesz zmienić szerokość QPlainTextEdit, czy mam rację? Czy tytuł twojego pytania jest prawidłowy?
 – 
eyllanesc
20 grudzień 2019, 04:50

1 odpowiedź

Możesz to zrobić za pomocą CSS i właściwości margin :

mainWin.setStyleSheet("QPlainTextEdit { margin-left: 16px; }")

Mam nadzieję, że ci pomoże!

0
AlexLaur 7 styczeń 2020, 18:13