2012-12-18 116 views
3

我試圖設置我的html表格的寬度來獲取內聯樣式表我的QTextEdit的總寬度,但表格的寬度不會改變。我試圖以百分比(%)和偶數像素(px)的形式給它賦值,但沒有任何變化。你能看看嗎?PySide QTextEdit html表格寬度

#!/usr/bin/env python2 

import sys 
from PySide import QtGui, QtCore 

class MainWid(QtGui.QWidget): 
    htmlTable = '''<table border="1" style="width:100%"> <!-- XXX Nothing happens!! --> 
     <tr><th colspan="2">HEADER</th></tr> 
     <tr><td>name</td><td>value</td></tr> 
     <tr><td>name</td><td>value</td></tr> 
    </table>''' 
    def __init__(self, parent=None): 
     super(MainWid, self).__init__(parent) 
     self.initgui() 

    def initgui(self): 
     lay = QtGui.QVBoxLayout() 
     txt = QtGui.QTextEdit(self) 

     lay.addWidget(txt) 
     txt.setReadOnly(True) 
     txt.setHtml(self.htmlTable) 

     self.setLayout(lay) 
     self.show() 

def main(): 
    app = QtGui.QApplication(sys.argv) 
    wid = MainWid() 
    sys.exit(app.exec_()) 

if __name__=="__main__": 
    main() 

我提前感謝大家。

回答

4

看看這是你在找什麼:

htmlTable = ''' <table border="1" width="100%"> 
        <tr><th colspan="2">HEADER</th></tr> 
        <tr><td>name</td><td>value</td></tr> 
        <tr><td>name</td><td>value</td></tr> 
       </table> 
      ''' 
+0

不,它不是...的(%%)被意外離開了那裏,因爲我使用字符串格式化,但它並非是什麼原因導致不想要的行爲。+ 1發現錯字雖然..我會編輯。 – Psyclops

+0

如果用'width =「100%」替換'style =「width:100%''不能解決您的問題,您能否找到一種方法來顯示您希望顯示錶格的方式?看到[這裏](http://jsfiddle.net/cricobs/u8gEC/) – 2012-12-19 09:50:01

+0

哎呀! :$ ..那麼! – Psyclops