2009-08-30 6 views
1

Я учусь PyQt и удивляться, если можно создать пользовательский/владелец рисовать контроль как один показ на рисунке ниже:Пользовательский/Собственный чертежный контроль в PyQt?

alt text http://lh5.ggpht.com/_5XDoB4MglkY/SpoT51SXR1I/AAAAAAAAFcU/ZXjzmhRyDVA/s400/SearchBox.png

Окно поиска имеет значок лупы на его правой границы. Возможно ли это с PyQt? Благодаря!

+3

Смотрите эту страницу: http://zetcode.com/tutorials/pyqt4/customwidgets/ Можете дать вам несколько идей. – Jamol

+0

@presario Спасибо. Это то, что я искал. Но стили, предложенные Антами, также удовлетворяют мою потребность :) – Gant

ответ

6

Если вам нужно только, чтобы показать значок, легкий способ заключается в использовании style-sheets:

lineedit = QtGui.QLineEdit()  
lineedit.setStyleSheet("""QLineEdit { 
    background-image: url(:/images/magnifier.png); 
    background-repeat: no-repeat; 
    background-position: right; 
    background-clip: padding; 
    padding-right: 16px; 
}""") 
+0

Wow. Благодарю вас: D – Gant

0

Antas Aasma - хороший Anser! m3rLinEz Возможно, его стоит упаковать все кнопки и текстовые ярлыки в один виджет. В конструкторе этого виджета соедините все кнопки. Выставлять только необходимые сигналы и слоты. Просто чтобы уменьшить код, который вы пишете (и, возможно, увеличить повторное использование этого виджета).