关于QComboBox样式,下拉框文字挤在一起的问题

C_522 2017-10-09 10:44:18
我有个QSS文件在Main函数里实现,
里面对QComboBox的样式是这样的:

QComboBox{border: 1px solid #428BCA; border-radius: 5px;max-height: 25px;min-height: 25px;background-color: rgba(255, 255, 255,200);margin:0px;font:12px;padding-left: 5px;}
QComboBox:disabled{color: #959595;color:black;background-color: rgba(255, 255, 255,100);border: 1px solid #959595;}
QComboBox:focus{border: 2px solid #005093;}
QComboBox:drop-down {width: 15px;border-left: 1px solid #428BCA;}
QComboBox::down-arrow {image:url(:/imgs/control/arrowDown.png);}
QComboBox QAbstractItemView::item {min-height: 30px;}

QListView{border-radius: 0px;selection-background-color:#428BCA;background-color: rgba(255,255,255,255);color:black;gridline-color: #DDDDDD;border:1px solid #DDDDDD;}
QListView::item{min-height:30px;background-color: rgba(255, 255, 255,0);}
QListView::item:hover,QListView::item:selected{min-height:30px;background-color: #428BCA;color: white;border:0px;}

然后,我在程序里new多一个QComboBox,然后设置
pCmb->setView(new QListView());
UI实际的效果为:

如果重新加载QSS样式的话,则正常显示了,


这个怎么搞????
...全文
1347 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
C_522 2018-01-09
  • 打赏
  • 举报
回复
引用 2 楼 qq_20408527 的回复:
上一个发错了。 int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.show(); a.setStyleSheet("QComboBox{border: 1px solid #428BCA; border-radius: 5px;max-height: 25px;min-height: 25px;background-color: rgba(255, 255, 255,200);margin:0px;font:12px;padding-left: 5px;}\ QComboBox:disabled{color: #959595;color:black;background-color: rgba(255, 255, 255,100);border: 1px solid #959595;}\ QComboBox:focus{border: 2px solid #005093;}\ QComboBox:drop-down {width: 15px;border-left: 1px solid #428BCA;}\ QComboBox::down-arrow {image:url(:/imgs/control/arrowDown.png);}\ QComboBox QAbstractItemView::item {min-height: 30px;}\ \ QListView{border-radius: 0px;selection-background-color:#428BCA;background-color: rgba(255,255,255,255);color:black;gridline-color: #DDDDDD;border:1px solid #DDDDDD;}\ QListView::item{min-height:30px;background-color: rgba(255, 255, 255,0);}\ QListView::item:hover,QListView::item:selected{min-height:30px;background-color: #428BCA;color: white;border:0px;}"); return a.exec(); } setstylesheet放后面就加载正确了。。
1.我是动态添加的QComboBox,同时把样式集中写在一个文件里。这个怎么处理???? 2.我的另外一个程序也是这么写的,把样式文件加载在初始化前面,但是我后期添加的QComboBox下拉框还是正常的,不会挤在一起。。。。 所以觉得很奇葩,很无奈.....
  • 打赏
  • 举报
回复
上一个发错了。 int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.show(); a.setStyleSheet("QComboBox{border: 1px solid #428BCA; border-radius: 5px;max-height: 25px;min-height: 25px;background-color: rgba(255, 255, 255,200);margin:0px;font:12px;padding-left: 5px;}\ QComboBox:disabled{color: #959595;color:black;background-color: rgba(255, 255, 255,100);border: 1px solid #959595;}\ QComboBox:focus{border: 2px solid #005093;}\ QComboBox:drop-down {width: 15px;border-left: 1px solid #428BCA;}\ QComboBox::down-arrow {image:url(:/imgs/control/arrowDown.png);}\ QComboBox QAbstractItemView::item {min-height: 30px;}\ \ QListView{border-radius: 0px;selection-background-color:#428BCA;background-color: rgba(255,255,255,255);color:black;gridline-color: #DDDDDD;border:1px solid #DDDDDD;}\ QListView::item{min-height:30px;background-color: rgba(255, 255, 255,0);}\ QListView::item:hover,QListView::item:selected{min-height:30px;background-color: #428BCA;color: white;border:0px;}"); return a.exec(); } setstylesheet放后面就加载正确了。。
  • 打赏
  • 举报
回复
min-height:...

16,238

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧