GVKun编程网logo

c – QSplitter在两个小部件之间显示分隔符或边距

22

针对c–QSplitter在两个小部件之间显示分隔符或边距这个问题,本篇文章进行了详细的解答,同时本文还将给你拓展android–如何在微调器项目之间显示分隔符?、android–线性布局中两个小部件

针对c – QSplitter在两个小部件之间显示分隔符或边距这个问题,本篇文章进行了详细的解答,同时本文还将给你拓展android – 如何在微调器项目之间显示分隔符?、android – 线性布局中两个小部件紧挨着另一个小部件、Android:允许TableLayout中的边距/填充以在窗口小部件之间进行一些分隔、c# – 在两个分隔符之间获取任意位置的子字符串等相关知识,希望可以帮助到你。

本文目录一览:

c – QSplitter在两个小部件之间显示分隔符或边距

c – QSplitter在两个小部件之间显示分隔符或边距

我有一个QSplitter和两个小部件,但我想能够有一个保证金,以便两个小部件之间有一个明确的过渡.我查看了QSplitter和QSplitterHandle,但没有看到任何明确的方法. @H_301_2@如何在两个小部件之间添加分隔符?

解决方法

样式表是一种用于更改Qt中任何窗口小部件外观的强大机制. @H_301_2@有关快速教程,请参阅here;有关参考指南,请参阅here.样式表可以使用Designer中的编辑器分配,也可以使用setStylesheet(QString)作为字符串传递.使用Designer肯定更容易,因为在运行它之前你可以看到你的小部件会是什么样子.

@H_301_2@现在,针对您的具体问题. QSplitter本质上是一个qframe.但它也包括一个手柄 – 如你所知.通常这就是通常的风格.

@H_301_2@所以,例如你可以这样做:

QSplitter::handle {
         image: url(:/images/splitter.png);
     }
@H_301_2@这为分离器手柄提供了图像.这有点类似于在Motif下完成的操作,其中总是显示一个小矩形手柄,用户可以单击以移动分割器.

@H_301_2@通过一些实验,您可以为您的手柄创建一个很酷的分离线.

QSplitter::handle {
    background-color: qlineargradient(spread:pad,x1:0,y1:0,x2:1,y2:0,stop:0 rgba(255,255,0),stop:0.407273 rgba(200,200,255),stop:0.4825 rgba(101,104,113,235),stop:0.6 rgba(255,0));
    image: url(:/images/splitter.png);
     }
@H_301_2@或者更像这样的东西.

QSplitter::handle:horizontal {
background: qlineargradient(x1:0,y2:1,stop:0 #eee,stop:1 #ccc);
border: 1px solid #777;
width: 13px;
margin-top: 2px;
margin-bottom: 2px;
border-radius: 4px;
}
@H_301_2@对于最后一个,我们特别只覆盖水平分割器,因为一些属性 – 如margin-top和bottom,以及如果我们更改垂直分割器则需要不同的宽度.

@H_301_2@希望这可以帮助.一旦你开始玩Style Sheet,乐趣才真正开始.

android – 如何在微调器项目之间显示分隔符?

android – 如何在微调器项目之间显示分隔符?

我使用具有分隔符的列表浏览和扩展视图,我可以设置它们,但是在旋转器上它看起来像是在项目之间没有分隔符.

有人想知道如何解决这个问题?

解决方法

我设法找到一个更适合的解决方案来解决这个问题(不包括在单个项目布局中的分隔符).

你要做的是在活动的主题中定义

<item name="android:dropdownlistviewStyle">@style/App.Style.Spinner</item>

然后创建适当的样式

<style name="App.Style.Spinner" parent="@style/Widget.Sherlock.Light.ListView.DropDown">
           <item name="android:dividerHeight">10dip</item>
           <item name="android:divider">@drawable/mydivider</item>
   </style>

android – 线性布局中两个小部件紧挨着另一个小部件

android – 线性布局中两个小部件紧挨着另一个小部件

我觉得很难实现,两个小部件(比如微调器)线性布局一个接一个.我的意思是两个微调器的布局高度是包裹内容,但宽度应该是第一个微调器的前半部分,屏幕的后半部分到第二个微调器.在线性布局中,它们一个接一个.我在相对布局中尝试过,但是当我给出宽度作为wrap_content时,它们彼此相邻,但是很多空间仍然是第二个微调器.我已经在很少的应用程序中看到了这个问题,但是我没有得到它.

解决方法:

使用layout_weight.这将迫使两个微调器占据每个空间的一半.

@H_301_8@<LinearLayout android:orientation="horizontal" ... > <Spinner android:layout_height="wrap_content" android:layout_width="0dp" android:layout_weight="1" ... /> <Spinner android:layout_height="wrap_content" android:layout_width="0dp" android:layout_weight="1" ... /> </LinearLayout>

Android:允许TableLayout中的边距/填充以在窗口小部件之间进行一些分隔

Android:允许TableLayout中的边距/填充以在窗口小部件之间进行一些分隔

我在TableLayout中定义了六个按钮: –

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp"
android:shrinkColumns="*"
android:stretchColumns="*" >

<TableRow
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:gravity="center" >

    <Buttonandroid:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_span="1"
        android:text="Btn1" />

    <Buttonandroid:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_span="1"
        android:text="Btn1" />
</TableRow>

<TableRow
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1" >

    <Buttonandroid:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_span="1"
        android:text="Btn1" />

    <Buttonandroid:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_span="1"
        android:padding="5dp"
        android:text="Btn1" />
</TableRow>

<TableRow
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1" >

    <Buttonandroid:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_span="1"
        android:text="Btn1" />

    <Buttonandroid:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_span="1"
        android:text="Btn1" />
</TableRow>

</TableLayout>

其显示如下:

在这里我想要在所有这些按钮之间分开.当我应用填充或边距时,右侧的按钮不适合屏幕而某些部分被切割.

在这里,我给第一行填充20,第二行给出20,然后它看起来像: –

码:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp"
android:shrinkColumns="*"
android:stretchColumns="*" >

<TableRow
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:padding="20dp" >

    <Buttonandroid:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_span="1"
        android:text="Btn1" />

    <Buttonandroid:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_span="1"
        android:text="Btn1" />
</TableRow>

<TableRow
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:layout_margin="20dp" >

    <Buttonandroid:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_span="1"
        android:text="Btn1" />

    <Buttonandroid:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_span="1"
        android:padding="5dp"
        android:text="Btn1" />
</TableRow>

<TableRow
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1" >

    <Buttonandroid:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_span="1"
        android:text="Btn1" />

    <Buttonandroid:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_span="1"
        android:text="Btn1" />
</TableRow>

</TableLayout>

如何解决这个问题?

样式:-

<style name="CustomStyleButton2" parent="@android:style/Widget.Button">
    <item name="android:textSize">16sp</item>
    <item name="android:textStyle">bold</item>
    <item name="android:textColor">#dedfdc</item>
    <item name="android:gravity">center</item>
    <item name="android:shadowColor">#000000</item>
    <item name="android:shadowDx">1</item>
    <item name="android:shadowDy">1</item>
    <item name="android:shadowRadius">0.6</item>
    <item name="android:background">@drawable/custom_button2</item>
    <item name="android:padding">10dip</item>
</style>

背景:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true">
        <shape>
            <solid android:color="#151515" />
            <stroke android:width="1dp" android:color="#FFFFFF" />
            <corners android:radius="3dp" />
            <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" />
        </shape>
    </item>
    <item>
        <shape>
            <gradient android:angle="270" android:endColor="#2E2E2E" android:startColor="#585858" />
            <stroke android:width="1dp" android:color="#FFFFFF" />
            <corners android:radius="3dp" />
            <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" />
        </shape>
    </item>
</selector>

解决方法:

只需将这些线条添加到您的样式中

<item name="android:layout_marginRight">10dp</item>
    <item name="android:layout_marginBottom">10dp</item>

c# – 在两个分隔符之间获取任意位置的子字符串

c# – 在两个分隔符之间获取任意位置的子字符串

我有以下字符串:
string source = "Test/Company/Business/Department/Logs.tvs/v1";

/字符是字符串中各种元素之间的分隔符.我需要获取字符串的最后两个元素.我为此目的有以下代码.这很好用.有没有更快/更简单的代码?

static void Main()
    {
        string component = String.Empty;
        string version = String.Empty;
        string source = "Test/Company/Business/Department/Logs.tvs/v1";
        if (!String.IsNullOrEmpty(source))
        {
            String[] partsOfSource = source.Split('/');
            if (partsOfSource != null)
            {
                if (partsOfSource.Length > 2)
                {
                    component = partsOfSource[partsOfSource.Length - 2];
                }

                if (partsOfSource.Length > 1)
                {
                    version = partsOfSource[partsOfSource.Length - 1];
                }
            }
        }

        Console.WriteLine(component);
        Console.WriteLine(version);
        Console.Read();
    }

解决方法

为什么没有正则表达?这个很容易:
.*/(?<component>.*)/(?<version>.*)$

您甚至可以为您的团队添加标签,以便您的匹配所需要做的就是:

component = myMatch.Groups["component"];
version = myMatch.Groups["version"];

我们今天的关于c – QSplitter在两个小部件之间显示分隔符或边距的分享已经告一段落,感谢您的关注,如果您想了解更多关于android – 如何在微调器项目之间显示分隔符?、android – 线性布局中两个小部件紧挨着另一个小部件、Android:允许TableLayout中的边距/填充以在窗口小部件之间进行一些分隔、c# – 在两个分隔符之间获取任意位置的子字符串的相关信息,请在本站查询。

本文标签: